我有一个RSpec测试文件,我在其中创建了一个允许方法并返回值的double。在我的Ruby应用程序代码中,我使用了代码
if some_object.class == ClassName
过滤掉其他类的不需要的实例。
代码工作并给出正确的结果,但不会通过RSpec测试,因为在测试期间double被过滤掉,因为它的类名是RSpec :: Mocks :: Double。
我环顾四周但无法完成如何模拟实际双重的类名。有任何想法吗?
答案 0 :(得分:2)
您可以存根class
调用:
expect(some_object).to receive(:class).and_return(ClassName)