CSC/ECE 517 Fall 2011/ch2 2e gp

From Expertiza_Wiki
Jump to navigation Jump to search

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. There are a lot of testing tools that are available for Ruby language, they have different features and can be applied on different platforms. Here is a brief introduction and feature comparisons of popular testing frameworks. [EDIT NEEDED]

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.

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

System Testing

Systir