簡體   English   中英

WCF行為擴展的單元測試

[英]Unit Testing a WCF Behavior Extension

這真讓我抓狂。 我有一個擴展名,如果有錯誤,我們可以使用它來更改請求的內容響應。 基本上,如果一切正常,它將像往常一樣序列化為JSON,但是如果我們遇到未處理的異常,則會基於不同的對象進行序列化。

我們需要圍繞此進行單元測試,但我無法弄清楚如何編寫它們。 驗證其是否有效的方法圍繞着StatusCode,故障Message實例和響應的ContentType。

為了修改回溯的Response,我利用了WebOperationContext靜態類。 我已經看到了模擬此示例的示例,但是似乎我不得不對特殊邏輯進行硬編碼,然后這些特殊邏輯將開始滲入實際的代碼中,這是我所不希望的。

對WCF行為擴展進行單元測試的最佳方法是什么?

我也有類似的情況,並且無法模擬WCF(至少使用Moq),這主要是因為大多數類都是密封的或具有內部構造函數。

我要做的就是讓我的行為僅應用IParameterInspectorIClientMessageInspector (在我的情況下,我兩者都需要),然后將所有邏輯放到AfterCallBeforeCall ,或者根據檢查器的類型放到所需的任何一個中。

這樣,我可以測試自己關心的所有邏輯。 實際的WCF行為仍未經測試,但實際上所做的只是添加兩個檢查器,僅此而已。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM