2011-07-27 52 views
0

我有一種情況,我需要模擬一個第三方接口,並調用與我的待測組件進行交互的第三方擴展方法。很難弄清楚我需要在模擬界面上驗證什麼,我想知道是否有可能跟蹤Moq記錄的任何交互,以便我可以看到實際發生的事情。從那以後,我希望能夠編寫一個有意義的期望。我沒有看到任何證據表明這可以在API文檔中完成,但似乎技術已經存在,並可能暴露在某個我沒有找到的地方。可以調用Moq mock嗎?

謝謝!

回答

0

我不相信這種「回放」類型的功能在Moq中可用。

然而,一對夫婦的決定調用的模式技術浮現在腦海中:

  • 您可以實現一個非常簡單的對象的接口,然後火了所有的調試器,將放置斷點實施的方法和屬性。這應該使你能夠繪製出所謂的和什麼值。

  • 您可以創建一個模擬並將其設置爲使用MockBehavior.Strict。這樣做的結果將是,只要沒有設置任何期望值,只要調用了它的任何屬性或方法,Mock就會拋出異常。您可以逐個捕捉這些例外情況並定義期望值,然後慢慢建立一個所謂的圖片。

我承認這兩種情況都不是理想的。

既然如此,你是否考慮過這是否是模擬功能的最佳場所?你能否介紹一個隱藏所有第三方功能的抽象層,然後嘲笑它?

+0

好主意。該功能是IoC註冊代碼,我不想進一步埋沒。我不會有很多不同的行爲來嘲笑,所以一旦我弄清楚了,應該很好。 – jlew

+0

享受 - 祝你好運。 – razlebe