У нас возникают проблемы с доступом к информации в файлах конфигурации .net (например, app.config и web.config) с помощью модульных тестов, когда модульные тесты имеют тип хоста "Moles". Это вызывает довольно много головных болей, поэтому я надеюсь, что у кого-то есть представление о том, что можно сделать.
Мы используем Visual Studio 2010, и я полагаю, что мы пробовали это на компьютере с установленным VS 2010 SP1 и на компьютере без установленного SP1, а также на 32- и 64-разрядных компьютерах.
Я позволил себе свести тест к самым простым терминам. Проблема может быть воссоздана путем составления проекта модульного тестирования, состоящего из следующих двух файлов, и запуска теста после раскомментирования единственной закомментированной строки. Тест работает без типа хоста, но когда вы вводите Moles как тип хоста, в тесте теряется нулевое утверждение. Мы не уверены, почему.
Сначала файл конфигурации 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"]);
}
}
}
Я был бы признателен, если бы кто-нибудь мог предложить какое-либо понимание.
Большое спасибо,
Ник