2009-02-06 66 views

回答

3

嘲笑處於記錄模式或重放模式。他們不能處於「無」模式。

如果您不想使用AAA語法,並且您想要控制記錄/重播狀態,那麼您必須通過在創建模擬之後立即調用mockRepository.Replay(mock)方法來手動執行它。

使用mockRepository.BackToRecord(模擬,選項)方法將模擬回到記錄模式。使用BackToRecordOptions.None選項可防止清除您已設置的任何期望。

0

在我看來,這是更好地使用排列法斷言格式。

var mockEmailService = MockRepository.GenerateMock<IEmailService>(); 
mockEmailService.Expect(x => x.Send("[email protected]", "Subject", "Body")); 

//Thing to test 
var controller = MehController(mockEmailService); 
controller.Meh(); 

mockEmailService.VerifyAllExpectations(); 

如果您在進入回放模式之前需要使用該對象,那麼測試出現問題。

相關問題