我有一個單元測試的WCF服務。我需要保存OperationContext以在測試中使用它。上下文不會保存,因此無法使用它在我的測試中回發。我可以保存當前上下文以在測試中使用它的最佳方式是什麼?在NUnit測試中獲取上下文
回答
你通常不能模擬OperationContext(除非你包裝它)。但檢查一下,如果它對你有幫助。
http://blog.gfader.com/2010/08/how-to-unit-test-wcf-service.html
一些替代方案:
1)另一種方法是簡單地重構你的代碼。將您的服務中的所有業務邏輯帶入單獨的可測試業務類,並讓該服務僅參與集成測試。服務更像基礎設施,並非所有事情都需要單元測試。集成/端到端/行爲測試也是測試和有效的方法。
2)使用更強大的測試框架。檢查Moles framework這是能夠攔截呼叫和重定向他們。這使得「模擬」密封類和靜態方法/屬性成爲可能。使用痣,你可以將調用重定向到OperationContext到你自己的方法。
您是否有一些Moles正在使用Context回傳到雙通道WCF服務或類似的例子?謝謝 – 2013-03-04 05:19:35
抱歉,我沒有,我只是讀了一些文章,併發布了答案,我希望它可以幫助你。 – Popeye 2013-03-04 05:24:23
你在回答中提到,除非我包裹它?你是什麼意思是有一些例子?謝謝 – 2013-03-04 05:25:25
- 1. 在NUnit下運行調試測試
- 2. 從Nunit獲取失敗測試列表
- 3. 獲取Nunit測試報告(visual studio)
- 4. 在NUnit測試
- 5. 在Android junit測試用例中獲取測試項目的上下文
- 6. Response.Cache.VaryByHeader上的Nunit測試
- 7. 在NUnit測試IInvokeProvider.Invoke
- 8. NUnit:在安裝方法中獲取測試名稱
- 9. 如何從單元測試中獲取上下文android
- 10. NUnit取消SetUp中的測試
- 11. NUnit 3測試在VS2015上消失
- 12. NUnit測試在硒網格上失敗
- 13. NUnit在測試後回滾
- 14. NUnit的:在一個測試
- 15. NUnit的測試中OpenCover
- 16. 執行Nunit測試
- 17. NUnit調試單個測試
- 18. 提取NUnit logc以生成測試書
- 19. 在竹中執行NUnit測試
- 20. 如何在NUnit中運行此測試
- 21. 在nunit中按順序執行測試
- 22. 在TFS2017中運行NUnit/SpecFlow測試
- 23. 調試VS2010 Express中的Nunit測試
- 24. 在OnCreate中獲取上下文在SQLiteOpenHelper
- 25. 製作VS2008測試到NUnit的測試
- 26. 從Teamcity獲取NUnit測試結果報告
- 27. runnig c#編輯硒與Nunit的測試 - 並獲取報告
- 28. 如何從NUnit測試生成文檔?
- 29. Nunit測試配置文件被覆蓋
- 30. 在F#交互中獲取調試器上下文
你可以發佈你想測試的代碼嗎? – 2013-03-04 04:44:05