我想测试以下组织者交互器,调用2个指定的交互器,而不执行调用交互器(“SaveRecord,PushToService”)代码。
class Create
include Interactor::Organizer
organize SaveRecord, PushToService
end
我发现一些例子中,所有交互器逻辑的整体结果(记录应该被保存并推送到其他服务)已经过测试。但是,我不想执行其他交互器的逻辑,因为它们将作为其单独规范的一部分进行测试。
1. Is it possible to do so?
2. Which way of testing(testing the overall result/testing only this particular
organizer interactor behavior) is a better practise?
3条答案
按热度按时间fzsnzjdm1#
我相信我们需要测试包含的交互器的交互器组织者,而不执行包含的交互器。我能够找到一个方法存根,并使用下面的行测试组织者
至存根:
待测试:
从交互组织器源文件中找到
call! method & organized variable
,它试图在其中调用和内部使用。存根call!
方法和测试organized
变量已满足我的要求。hsgswve42#
您可以测试它们的调用顺序:
参见:https://relishapp.com/rspec/rspec-mocks/docs/setting-constraints/message-order
ffvjumwh3#
只是在@prem answer上迭代。
待测试:
在本例中,
interactor
是Interactor类的示例,或者在Rspec语法中: