我可以模拟RSpec double的类名吗?

时间:2017-01-13 09:07:04

标签: ruby unit-testing rspec

我有一个RSpec测试文件,我在其中创建了一个允许方法并返回值的double。在我的Ruby应用程序代码中,我使用了代码

if some_object.class == ClassName

过滤掉其他类的不需要的实例。

代码工作并给出正确的结果,但不会通过RSpec测试,因为在测试期间double被过滤掉,因为它的类名是RSpec :: Mocks :: Double。

我环顾四周但无法完成如何模拟实际双重的类名。有任何想法吗?

1 个答案:

答案 0 :(得分:2)

您可以存根class调用:

expect(some_object).to receive(:class).and_return(ClassName)