爲了辯論的緣故,假設我有一個Event
模型,當Event
第一次創建時需要創建一個Notification
。例如在Rails中使用after_create
回調。模型與另一個類的模型進行交互時,組織Rspec測試的最佳方法是什麼?
在哪個規範中應該放置回調測試?例如models/event_spec.rb
? models/notification_spec.rb
?在其他地方作爲集成測試?
這是我目前的思維過程:
我的第一反應就是把這個在event_spec.rb
:
describe Event do
...
describe 'callbacks' do
it 'should create a Notification when first saved' do
# assertions here
end
end
end
然而,這感覺就像我被打破的關注點分離。例如,我正在測試在Event
規範中創建了Notifcation
。那麼我想這可能是更合適的地方這些測試中notification_spec.rb
:
describe Notification do
...
describe 'callbacks' do
it 'should be created when new an Event is first saved' do
# assertions here
end
end
end
但是,這感覺不對任何,因爲我們現在在Notification
規範測試Event
類的回調代碼。
有什麼想法?
這就是我所傾向的。我喜歡使用'should_receive'! – Pete