What's the difference between tests and specs? What's the difference between tests and specs? ruby-on-rails ruby-on-rails

What's the difference between tests and specs?


A spec, short for specification, comes from behavior driven testing, and encourages the mindset where you are defining 'what' the software does.

Calling it a test leads to a much more general way of thinking about the code, and does not reinforce the idea that you should be testing the interface (instead of the implementation) as well.

That said, regardless of how you write them, or what you call them, the point is to have an automated way of verifying the correctness of your code, so that you can proceed with confidence.


Google for tests vs. Specs. Some good reads pop up:

My opinion is, that specs read more 'natural' and feel more like true specifications of the functionality of the code when compared to mini-test et.al.

Rspec is a good example of a DSL, specifically written to write tests that make sense when read, even for people less technically inclined.

But in the end, use whatever makes you feel more comfortable. A test written is almost always better then no test written, because you feel uncomfortable using the testing framework

edit

After rereading your question, you seem to specifically ask about mini-test specs. It is an addition to minitests which adds rspec-like syntax to minitest. Everything above still applies.