This example (shortened here):
class Order def shipping_cost total_weight * 5 + 10 end end require 'test/unit' require 'rubygems' require 'mocha' class OrderTest < Test::Unit::TestCase # illustrates stubbing instance method def test_should_calculate_shipping_cost_based_on_total_weight order = Order.new order.stubs(:total_weight).returns(10) assert_equal 60, order.shipping_cost end end
and this snippet (emphasis mine):
The more interesting discussion deals with whether to mock or stub your database-backed model. One upside is speed: This test case will not hit the database at all. Another is independence. I completely isolate the code under test to the controller layer.
convinced me that there just might be some treasure to be found beyond the
Test::Unit. And I know that it's just the tip of the iceberg.