我正在嘗試編寫一些單元測試,測試哪些代碼會改變web.config運行時。要加載Web.config,使用WebConfigurationManager.OpenWebConfiguration。這在單元測試中效果不好。在單元測試中使用WebConfigurationManager
我有什麼選擇?我試過了:
將測試配置爲具有方法屬性的ASP.NET測試。這似乎很脆弱,因爲您需要使用[UrlToTest(「http:// localhost:25153/WebSite1」)]對開發服務器運行的端口進行硬編碼。我需要測試在配置不同的多臺計算機上運行。另外我覺得啓動一個IIS服務器只是爲了能夠在單元測試中加載一個文本文件是矯枉過正的。
使用其他方法從磁盤加載配置。我試過配置管理器.OpenExeConfiguration(),我得到一個配置對象,但這似乎沒有被正確解析。特別是system.web中的sessionState部分,這是一個特定於web的設置,所以這並不令人驚訝。
我該從哪裏出發?
我試圖讀取system.web/sessionState GetSectionGroup方法。 – Nilzor
編輯了我試過的東西。基本上我只想要一個配置對象從磁盤解析文件,它正確解析了所有的web.config設置。 – Nilzor
我不知道這是否適用於您,但web.config文件只是一個XML文檔。您可以讀取它並使用root.descendants進行深入...我將使用XDocument方法。希望我不會把你引向錯誤的道路。 – cgcarter1