[英]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.