2
測試工具中的WCF項目。測試中看到的WCF位置
爲什麼會HttpContext.Current.Server.MapPath(「〜/」);或 HttpContext.Current.Server.MapPath(「。」);
在我的測試失敗?
我正試圖爲現有的應用程序放在一起的PDF建築模塊。我必須確定在哪裏編寫最終輸出。
TIA
測試工具中的WCF項目。測試中看到的WCF位置
爲什麼會HttpContext.Current.Server.MapPath(「〜/」);或 HttpContext.Current.Server.MapPath(「。」);
在我的測試失敗?
我正試圖爲現有的應用程序放在一起的PDF建築模塊。我必須確定在哪裏編寫最終輸出。
TIA
單元測試是失敗的原因是因爲HttpContext.Current
需要這幾乎是不可能在一個單元測試來重新創建ASP.NET環境。像ASP.NET MVC這樣的框架使用HttpContextBase抽象出來,這在單元測試中很容易被模擬。
另外你不應該在WCF中使用HttpContext
。如果你自己託管你的WCF服務,它不僅會在單元測試中受到打擊,而且會在執行時更糟糕。
結論:
HttpContext.Current
定義每當這個方法是不是可以進行單元測試,所以不要去嘗試對其進行測試。HttpContext.Current
(如果你不僅在WCF :-)看了前面點)
+1阿門,兄弟! :-) – 2010-07-06 17:15:46
將使用relativePath = AppDomain.CurrentDomain.BaseDirectory; 謝謝 – SteveO 2010-07-06 20:57:52