[英]How to automatically skip callbacks in all unit tests but not in any integration tests
我使用Rspec在Rails 4下进行测试。
我想配置Rspec,以便我的所有单元测试都自动运行而没有回调,但是我所有的集成测试均按Rails的预期运行—在生产和开发中都具有相同的回调。
这可能吗?
我可以想到冗长的解决方案,其中涉及在我的实际回调中编写条件逻辑,但不能考虑涉及配置Rspec的优雅解决方案。
您可以在单元测试运行时用测试倍数替换回调方法,如https://relishapp.com/rspec/rspec-mocks/v/3-0/docs/message-expectations/allow-a-message-上任何实例- - A级
例如,如果您有以下课程:
def Foo < ActiveRecord::Base
before_create :my_callback
...
end
您可以按如下方式对回调进行存根:
allow_any_instance_of(Foo).to receive(:my_callback)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.