【发布时间】:2013-04-22 17:10:51
【问题描述】:
在 RSpec 中,我可以执行 mock_obj.should_receive(:method).with(anything)...,其中 'anything' 是任何变量。
我可以在 Minitest 中执行此操作吗?
【问题讨论】:
在 RSpec 中,我可以执行 mock_obj.should_receive(:method).with(anything)...,其中 'anything' 是任何变量。
我可以在 Minitest 中执行此操作吗?
【问题讨论】:
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
【讨论】: