Presentation is loading. Please wait.

Presentation is loading. Please wait.

RSpec. Testing with RSpec Test::Unit “does the job”, but it would be nice if tests would be more descriptive, more Enlgish-like RSpec uses some Ruby magic.

Similar presentations


Presentation on theme: "RSpec. Testing with RSpec Test::Unit “does the job”, but it would be nice if tests would be more descriptive, more Enlgish-like RSpec uses some Ruby magic."— Presentation transcript:

1 RSpec

2 Testing with RSpec Test::Unit “does the job”, but it would be nice if tests would be more descriptive, more Enlgish-like RSpec uses some Ruby magic to provide a simple DSL syntax for writing specs/examples (tests) The writing of the tests is more intuitive as well as the output from running the tests 2

3 Installing Rspec Create a spec directory and place your “specs” there 3

4 describe() Set of related tests (a.k.a. example group) Takes either a String or Class as argument Describe blocks can be nested All specs must be inside a describe block Automagically creates a class where all the action happens (unlike Test::Unit which always subclasses TestCase class) 4

5 before() and after() methods before() and after() methods are similar to setup() and teardown() in Test::Unit Can pass in either :each or :all (infrequently used) to specify whether the block will run before/after each test or once before/after all tests before :all could be useful, if for example you only want to connect to DB once 5

6 it() method Used to define the actual RSpec specifications/examples Takes an optional string that describes the behavior being tested specify() method is an alias of it() Usually, specify() is used for one-line tests and it() is used otherwise; but it really depends on what reads better for a particular test and its output 6

7 Pending tests If you are not ready to implement certain behavior, but would like to put a test (not to forget to test it in the future) – you can put it in and just omit the actual test block Or you can call pending() method inside the block and RSpec will mark the method as pending 7

8 calculator.rb 8

9 calculator_spec.rb 9

10 Default and documentation formats 10


Download ppt "RSpec. Testing with RSpec Test::Unit “does the job”, but it would be nice if tests would be more descriptive, more Enlgish-like RSpec uses some Ruby magic."

Similar presentations


Ads by Google