我的代码调用两个略有不同的东西。一个明确地实例化Foo,另一个使用在内部实例化Foo的gem(即不是我的代码)。
我正在尝试expect_any_instance_of(Foo).not_to receive(:bar)
,但来自gem的调用正在触发此期望,导致其失败(class SubFoo < Foo
的实例正在接收bar
)。
我如何只针对确切的Foo
类编写此期望,而不是Foo的任何子类?
答案 0 :(得分:1)
您可以准备id
实例,该实例应该不会收到$code_f = Code_F::where('code', $request->code_f)->first(); // will get you the 1st record if there are more than one
$code_r = Code_R::where('code', $request->code_r)->first();
。
Foo
然后将其传递给您尝试测试的方法或作为请求参数等的操作(取决于您正在测试的内容和方式)。
然后你就可以使用
了:bar
这不是你完全想要的。但我相信它可以帮助您完成用例。