[~/local/src/ruby/LPP/unit_testing/simple_example(master)]$ tree
.
|-- Rakefile
|-- lib
|   `--- simple_number.rb
`--- test
    `--- tc_simple_number.rb
2 directories, 3 files
[~/local/src/ruby/LPP/unit_testing/simple_example(master)]$ cat lib/simple_number.rb 
# File:  simple_number.rb
 
class SimpleNumber
 
  def initialize(num)
    raise unless num.is_a?(Numeric)
    @x = num
  end
 
  def add(y)
    @x + y
  end
 
  def multiply(y)
    @x * y
  end
 
end
Véase la documentación en Test/Unit
[~/local/src/ruby/LPP/unit_testing/simple_example(master)]$ cat test/tc_simple_number.rb 
# File:  tc_simple_number.rb
 
require "simple_number"
require "test/unit"
 
class TestSimpleNumber < Test::Unit::TestCase
 
  def test_simple
    assert_equal(4, SimpleNumber.new(2).add(2) )
    assert_equal(6, SimpleNumber.new(2).multiply(3) )
  end
 
end
[~/local/src/ruby/LPP/unit_testing/simple_example(master)]$ cat Rakefile desc "Test class SimpleNumber" task :test do sh "ruby -Ilib -Itest test/tc_simple_number.rb" end
[~/local/src/ruby/LPP/unit_testing/simple_example(master)]$ rake test ruby -Ilib -Itest test/tc_simple_number.rb Run options: # Running tests: . Finished tests in 0.000530s, 1886.7925 tests/s, 3773.5849 assertions/s. 1 tests, 2 assertions, 0 failures, 0 errors, 0 skips
Failures are when your test cases fail - i.e. your assertions are incorrect. Errors are unexpected errors that occur while trying to actually run the test - exceptions, etc.