2014-02-05 44 views
0

我正在創建一個具有嵌入式webbrowser控件的c#應用程序。從JavaScript我打電話給C#方法並傳遞一個JavaScript回調。我使用的動態技術,從this answer在c#主機應用程序中嘲笑javascript回調

public void CallbackTest(object callback) 
{ 
    dynamic callbackFunc = callback; 
    callbackFunc("Hello!"); 
} 

我的問題是,我將如何去對單元測試這種方法嗎?我如何模擬(或僞造)回調參數?對於它的價值,我選擇的嘲笑圖書館是Moq。

回答

1

我會想象你可以傳遞一個Action<String>這應該作爲回調。不過,我不確定是否可以直接在Moq獲得這種動態支持。但是,使用Action無論如何都是非常簡單的

var mockCallBack = new Action<String>(str => {return;}); 
CallbackTest(mockCallBack) 
+0

就是這樣。不知道爲什麼我自己有這樣的麻煩。 :) 謝謝。 –