1
我有一個遺留系統,我正在進行重構。我爲Generate()方法的委託參數提供給Moq的是什麼?
我有一個對象基本如下:
public class SUT
{
public delegate SaveStuff(SomeObject obj);
public void Generate(SaveStuff saver)
{
// Do stuff
var obj = new SomeObject();
saver(obj);
}
}
我很新的使用起訂量,並希望count次「保護」叫的數量。
我已經看到了很多的例子在這裏SO,但我難倒如何設置測試
[Test]
public void TestDelegateCall()
{
var sut = new SUT();
// Prepare SUT's State...
var callCount = 0;
sut.Generate(??);
Assert.AreEqual(callCount,2);
}
善有善報,其中?是?
我無法得到該編譯,但它讓我在我需要去的地方。 'SaveStuff actionCount = delegate(SomeObject obj){callCount ++; };'工作。感謝您指點我正確的方向。 – 2012-03-20 02:06:56
甜!在改變你的簡單例子之後,R#幫助我使它更加清潔,因爲'sut.Generate(obj => {callCount ++;});'這幫助我解決了另一個問題。你剛剛加深了我的理解。謝謝! – 2012-03-20 02:21:32
我已經更新了我的答案,以便它應該與匿名方法一起使用,如果您希望它的行數更少。但是,我也更新了代碼以使用舊的委託方法。我測試了兩個,並且都應該工作。你甚至不需要你最後的評論中的括號:) – 2012-03-20 02:22:26