我有一个问题,即使用Ruby Test :: Unit框架运行Mocha的期望。 我的目的是验证调用包装方法时调用的方法。 这个测试似乎总是过去,我不明白为什么...... 我期待一个错误,指出方法clean只被调用一次(可以在Expectation对象中验证)。 当我运行以下测试时,为什么以下单元测试不会引发错误:
require 'test/unit'
require 'mocha'
require 'mocha/test_unit'
class DoMe
def stop_and_clean
clean
stop
end
def clean
true
end
def stop
true
end
end
class DoMeTest < Test::Unit::TestCase
def test_stop_and_clean
d = DoMe.new
d.expects(:clean).times(5)
assert(d.stop_and_clean)
end
end
在我看来,期望(:clean).times(5)将不会得到满足,但运行测试显示没有错误。我是否需要在Expectation对象上进行断言?
exp = d.expects(:clean).times(5)
[...]
assert(that exp is invoked only once)