Rspec
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

RSpec PowerPoint PPT Presentation


  • 167 Views
  • Uploaded on
  • Presentation posted in: General

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)

Download Presentation

RSpec

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


Rspec

RSpec


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


Calculator spec rb

calculator_spec.rb


Default and documentation formats

Default and documentation formats


  • Login