我們具有達網絡配置文件(如的app.config和web.config中)經由單元測試中訪問信息的問題當單元測試具有主持人類型的「鼴鼠」。這引起了很多頭痛,所以我希望有人對可以做什麼有一個想法。無法訪問從配置文件的信息的主機類型「摩爾」
我們使用Visual Studio 2010,我相信我們已經安裝了VS 2010 SP1和機器沒有安裝SP1,以及嘗試它在32位和64位的機器上試過這樣的機器上。
我冒昧地將測試簡化爲最簡單的條款。通過組成由以下兩個文件組成的單元測試項目,並在取消註釋唯一註釋行後運行測試,可以重新創建該問題。該測試在沒有主機類型的情況下工作,但是當您將Moles引入主機類型時,測試中的null斷言失敗。我們不知道爲什麼。
首先,配置文件的App.config:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="Connection" connectionString="Something" />
</connectionStrings>
</configuration>
接下來,包含單個測試的測試類:
namespace TestProject
{
using System.Configuration;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTest
{
[TestMethod]
//[HostType("Moles")]
public void TestMethod()
{
var data = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Assert.IsNotNull(data.ConnectionStrings.ConnectionStrings["Connection"]);
}
}
}
我將不勝感激,如果有人可以提供任何見解。
非常感謝,
尼克
可能的重複[如何閱讀UnitTest項目的App.Config從測試與HostType(「痣」)](http://stackoverflow.com/questions/4105604/how-to-read-unittest-projects-app- config-from-test-with-hosttypemoles) – NotMe 2012-02-05 01:21:30
另請參閱我的類似問題http://stackoverflow.com/questions/8859087/moles-v0-94-causing-tests-to-ignore-config-file – sfuqua 2012-02-11 23:38:01