CSC/ECE 517 Fall 2011/ch2 2e gp: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 32: Line 32:
== Cucumber ==
== Cucumber ==
= References =
= References =
*[1]: http://en.wikipedia.org/wiki/Integrated_development_environment

Revision as of 16:21, 17 September 2011

Testing Frameworks for Ruby

This page serves as a knowledge source for understanding the different Testing Frameworks available for Ruby.

Introduction

No code is perfect from the word go! Testing plays an important role in System Development Life Cycle. During testing, we follow a taxonomic procedure to uncover defects at various stages. A test framework provides various Test Types, Test Phases, Test Models, Test Metrics and acts as a guideline as to how to perform effective testing[1]. Various testing tools are available for Rubylanguage, each having some unique features over others. Here is a brief introduction and feature comparisons of popular testing frameworks.

Unit Testing

Unit Testing is a method by which we can isolate and test a unit functionality of the program, typically individual methods during and long after the code is written.

Cucumber

EDIT

Test::Unit

The in-built, ready to use unit testing mechanism for Ruby is called Test::Unit.It belongs to the XUnit family unit testing framework. It has a setup method for initialization, a teardown method for cleanup and the actual test methods itself. The tests are bundled separately in a test class in the code it is aimed to test.

Assertions

We can use Test::Unit to make assertions. The test is successful if the assertion is true and fails if the assertion is false.

assert( boolean, [message] ) True if boolean
assert_equal( expected, actual, [message] )
assert_not_equal( expected, actual, [message] )
True if expected == actual
assert_raise( Exception,... ) {block}
assert_nothing_raised( Exception,...) {block}
True if the block raises (or doesn't) one of the listed exceptions.

Shoulda

RSpec

Cucumber

References