CSC/ECE 517 Fall 2011/ch2 2e ad: Difference between revisions
Line 28: | Line 28: | ||
====Test:Unit==== | ====Test:Unit==== | ||
This testing framework is a base testing framework that is integrated inside ruby. The packages for this testing framework can be downloaded as a gem. The first version gem for this testing framework was released on 20th march 2008. | |||
====Shoulda==== | ====Shoulda==== | ||
====RSpec==== | ====RSpec==== |
Revision as of 17:34, 19 September 2011
Testing frameworks for Ruby
Introduction
This is an introduction to the subject.
Definition
Test Driven Development (TDD)
Behavior Driven Development(BDD)
Mocking in Testing
Benchmarking in Testing
Testing Framework
Testing Framework Evolution
Explain here how testing in ruby went from regular Test:unit testing to BDD testing.
TDD vs BDD
Give high level example how they differ from each other.
Ruby Testing Frameworks
Compared to five years ago the number of testing framework available for ruby has increased rapidly. Selecting a perfect testing framework for a particular project has become harder.
Overview of testing framework
Selection of testing framework for ruby projects depends on factors like what are we trying to accomplish TDD or BDD, is GUI testing included, is acceptance testing required, do we have to merge legacy ruby test code with new testing framework. Altough GUI testing and acceptance testing are out of scope for this wiki we have made attempt to cover them in some details at the end of this wiki page. Meanwhile, below is the detailed explanation of five most commonly used unit testing framework.
Test:Unit
This testing framework is a base testing framework that is integrated inside ruby. The packages for this testing framework can be downloaded as a gem. The first version gem for this testing framework was released on 20th march 2008.
Shoulda
RSpec
Riot
Mini
Pros And Cons of Ruby Testing Frameworks
Testing Framework | Repository model | Concurrency model | Programming Languages | Scope of Change | Atomic commits | File Renames | Interactive Commits | Partial Checkout/clone | Platforms supported |
---|---|---|---|---|---|---|---|---|---|
RCS | Set of files | Merge | C | File | No | No | No | Yes | Unix-like |
CVS | Client-Server | Merge | C | File | No | No | No | Yes | Windows, Mac OS X |
Examples
Examples go here [1]
Actual Code being tested (Intro of functionality)
Test:Unit testing code
Shoulda testing code
RSpec testing code
Riot testing code
Mini testing code
Example code goes here
Additional Testing Framework
UI Testing Framework
Context
Win32-AutoGUI
Acceptance testing
Cucumber
Capybara
References
- [1] Shay Friedman A Mini-Review-Benchmark of Ruby’s Different Testing Frameworks
Note
There are many testing frameworks for Rails, but for this topic, I would like you to concentrate on testing frameworks for Ruby itself. Look up information on these frameworks, and describe their evolution.