【发布时间】:2015-09-10 06:07:37
【问题描述】:
有两个类,UserDevice(
在 NotificationAdapter 中,我使用 AWS SDK,而 UserDevice 使用 NotificationAdapter 实例。
关节点在下方,
protected def notificationAdapter
@notificationAdapter ||= NotificationAdapter.new(self)
end
在 UserDevice 测试中,我想制作临时 NotificationAdapter 模拟来替换原来的 NotificationAdapter,并且只在测试中使用这个模拟。
但我不知道该怎么做,因为这是我在测试中使用模拟的第一个案例。
我认为它需要以下两个步骤,
-
在测试代码中制作临时 NotificationAdapter 类(NorificationAdapterMock)。
NotificationAdapterMock = MiniTest::Mock.new mock.expect :setEndpoint, 'arn:testEndpoint' mock.expect :subscribeToAnnouncement, true -
将UserDevice的notificationAdapter方法改成下面,
protected def notificationAdapter @notificationAdapter ||= NotificationAdapterMock end
但我不知道是对是错。我该怎么办?
【问题讨论】:
标签: ruby-on-rails ruby mocking tdd minitest