2014-04-27 17 views
0

在AppHarbor上的應用中,我試圖從單元測試訪問我的web.config中的應用設置,但所有設置都返回null。無法在測試中訪問應用設置

例如,我有這個在我的web.config:

<add key="Environment" value="Test" /> 

我的測試類有這個初始化:

Trace.WriteLine(ConfigurationManager.AppSettings["Environment"]); 

構建之後,測試運行時,此跟蹤輸出空白線。我在應用程序設置中的任何其他鍵也會返回null。我究竟做錯了什麼?

回答

0

Environment應用程序設置實際上由測試運行器設置爲Test,因此您不需要自己設置它。

您提到您嘗試訪問Web.config文件中的應用程序設置,但您需要添加專門用於測試項目的配置文件。我也希望其他測試運動員有相同的行爲,所以這應該是類似於您的本地環境。

如果您已經爲您的測試項目添加了配置文件,請確保文件參考的Build Action屬性設置爲Content。這將確保文件被複制到生成輸出目錄,並且可以按預期讀取配置設置。

+0

環境應用程序設置在這裏只是我特別給出的一個例子,因爲我知道它應該被自動設置。問題是我爲我試圖閱讀的任何應用程序設置(包括環境)留下空白。 將構建操作設置爲web.config上的內容,並且測試類是正在構建的同一項目的一部分。 – Juvaly

+0

好吧,如果我正確理解你的測試類是在你的web項目中(包含你想從中讀取值的'Web.config')?這是行不通的 - 它在本地爲你工作嗎?你在用什麼測試跑步者? – runesoerensen

+0

您可以通過在Web項目中添加一個App.config文件來解決這個問題。這雖然有些破綻,但我建議您將測試移到單獨的測試項目中。 – runesoerensen

相關問題