4

In RSpec I can do mock_obj.should_receive(:method).with(anything)... where 'anything' is any variable.

Can I do this in Minitest?

4

1 回答 1

3

Minitest,因为它包含在 Ruby 1.9 中,所以提供MiniTest::Spec了一种类似于上下文的 RSpec 语法。这不是 RSpec。

从 Github 页面,这是Minitest提供的

  • minitest/autorun - 运行所有测试的简单而明确的方法。
  • minitest/unit - 一个非常快速、简单和干净的测试系统。
  • minitest/spec - 一个非常快速、简单和干净的规范系统。
  • minitest/mock - 一个简单干净的模拟/存根系统。
  • minitest/benchmark - 断言算法性能的绝佳方式。
  • minitest/pride - 展示你对测试的自豪感!
  • 令人难以置信的小而快的跑步者,但没有花里胡哨。

做同样的比mock_obj.should_receive(:method).with(anything),你会写

需要'minitest/autorun'

describe YourClass do
  it 'should receive a call to method' do
    mock_obj = Minitest::Mock.new
    mock_obj.expect(:method, :your_return, [anything])
    # ...
    mock_obj.verify # verify that the expected call has been made
  end
end
于 2013-04-22T09:10:51.800 回答