我想should_receive
用作 RSpec 中规范的主题。换句话说,我不想测试 a should ==
,而是想测试另一个类是否接收到方法调用。
我想写的是这样的:
describe '#methodOne' do
subject { ClassTwo }
it { should_receive(:methodTwo) }
ClassOne.methodOne
end
这可能吗?
我想should_receive
用作 RSpec 中规范的主题。换句话说,我不想测试 a should ==
,而是想测试另一个类是否接收到方法调用。
我想写的是这样的:
describe '#methodOne' do
subject { ClassTwo }
it { should_receive(:methodTwo) }
ClassOne.methodOne
end
这可能吗?
有一些方法可以扭曲 RSpec 来做这样的事情,但它并没有按照它的意图使用 RSpec。 should_receive
设置将调用方法的模拟期望。it
单行语法没有意义。
我建议您从基本describe
/结构开始,只有在出现重复it
时才重构为更高级的结构(主题、单行)。it
所以我是这样做的:
describe "#methodOne" do
it "calls the appropriate method" do
ClassTwo.should_receive(:methodTwo)
ClassOne.methodOne
end
end
这很好用
我会以实例变量的形式使用主题:
@subject.should_receive(:methodTwo)