Rspec
Download
1 / 10

RSpec - PowerPoint PPT Presentation


  • 218 Views
  • Uploaded on

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 to provide a simple DSL syntax for writing specs/examples (tests)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' RSpec' - bandele


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Testing with 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 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


Installing rspec
Installing Rspec

  • Create a spec directory and place your “specs” there


Describe
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)


Before and after methods
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


It method
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


Pending tests
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


C alculator rb
calculator.rb




ad