Search code examples
ruby-on-railsunit-testingautomated-tests

What's the difference between tests and specs?


I decided to try out MiniTest and noticed pretty quickly that it supported something called "specs". I had seen these referenced before but thought it was just an alternate test syntax associated with factories, but if that were the case then why would MiniTest need to support them both?

We only covered tests when I was taught Ruby on Rails, so I don't really know anything about specs. When I Google specs I find a lot of stuff about how to write good ones but nothing explaining what they are. What's the difference between tests and specs?


Solution

  • 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.