我需要模拟一个对象,其类应该定义一些常量,例如:
class Driver
DRIVER_NAME = "google"
end
由于昂贵的初始化,我不想在单元测试中简单地使用类的实例,而且它有一个简单的接口,因此它是模拟的最佳选择。如果我可以简单地继承Mocha::Mock
并添加一些完美的常量。不过,我还没有找到实例化这些子类的方法。他们需要“嘲笑”作为初始化参数。我试过了:
TestDriver.new(self.mock.instance_method_get(:@mockery))
结果很有趣:
意外调用:#<Mock:0x35c0690>.instance_method_get(:@mockery)
摩卡的来源相当复杂和纠结。我什至找不到mock
为每个创建的点Minitest::Test
对象创建的点。
那么我如何在 Mocha 中对模拟进行子类化呢?有没有直接的方法?
我的备用解决方案是简单地使用上面显示的三行类driver.stubs(:name)...
而不是使用模拟,但这感觉像是解决问题的错误方法。