使用Rhino Mocks時,如何確保在模擬對象上設置Expectations時未調用方法。如何設置Expect調用以檢查在Rhino Mocks中未調用方法
在我的示例中,我正在測試Commit方法,並且需要確保在執行提交時不會調用Rollback方法。 (這是因爲我在提交方法有邏輯,如果提交失敗,它會自動回滾)
下面的代碼看起來像..
[Test]
public void TestCommit_DoesNotRollback()
{
//Arrange
var mockStore = MockRepository.GenerateMock<IStore>();
mockStore.Expect(x => x.Commit());
//here i want to set an expectation that x.Rollback() should not be called.
//Act
subject.Commit();
//Assert
mockStore.VerifyAllExpectation();
}
當然,我可以斷言階段這樣做:
mockStore.AssertWasNotCalled(x => x.Rollback());
但我想將此設置爲期望值。
好奇你爲什麼要使用Expectation,而不是僅僅爲AssertWasNotCalled? – Cousken
@Cousken AssertWasNotCalled()似乎不適用於BackToRecord()和Replay(),也許這是原因? – danio