在方法调用上运行单元测试时没有错误(Ruby / Test :: Unit / Mocha)

时间:2015-04-17 13:09:14

标签: ruby unit-testing mocking

我有一个问题,即使用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)

0 个答案:

没有答案