2
我正在寫使用AutoFixture我的抽象類單元測試,這是我想要做的表示:起訂量斷言的抽象方法被稱爲
public abstract class Base
{
public virtual void DoSomethingCool()
{
OnDoingSomethingCool();
}
protected abstract void OnDoingSomethingCool();
}
我的單元測試會是什麼樣子這樣的:
[TestMethod]
public void TestMethod1()
{
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var sut = fixture.Create<Base>();
// How to assert that the OnDoingSomethingCool method was called
sut.Invoking(x => x.DoSomethingCool())
.ShouldNotThrow();
}
那麼,如何斷言,受保護的抽象方法,實際上是所謂的DoSomethingCool
方法?
如果它是由注入的依賴對象,我將能夠建立一個模擬使用Moq
並斷言該方法被調用,但由於該方法是一個抽象方法在我的題目在考試,怎麼辦我斷言該方法被稱爲?
您使用AutoFixture爲[自動嘲諷集裝箱( http://blog.ploeh.dk/2013/03/11/auto-mocking-container/),但這實在是一個關於Moq的問題。 – 2013-03-20 20:33:07