Для своего проекта я использую интегрированную среду модульного тестирования Visual Studio, но у меня есть некоторые проблемы, которых я никогда не видел раньше.
Один из моих классов вызывает сбой VSTestHost. Итак, сначала я подумал, что это связано с тем, что куча кода вызывала переполнение стека. Что действительно странно, так это то, что теперь, даже если я создаю новый проект или использую старые проекты, которые работали раньше, VSTestHost немедленно падает (через 1/2 секунды после нажатия кнопки «Выполнить тесты»). На самом деле я просто не могу больше тестировать юнит ... Это действительно сводит меня с ума.
Я пытался найти много решений, найденных в Интернете, чтобы решить эту проблему, но ничего не помогло. Мне пришлось восстановить Windows до моего последнего обновления, чтобы он снова работал нормально. Не вызывает сомнений то, что это один конкретный класс тестирования, который приводит к тому, что инфраструктура модульных тестов сходит с ума. Когда я запускаю этот тестовый класс в первый раз, все идет хорошо, и все тесты проходят успешно, а затем каждый раз, когда я пытаюсь запустить модульный тест, происходит сбой VSTestHost, не позволяющий мне выполнить модульное тестирование в любом проекте.
Здесь я покажу вам тест, который предположительно вызывает сбой программы. Мой метод LoadFromExe () просто использует метод ConfigurationManager.OpenExeConfiguration (). В настоящее время я использую эту AlphaProjectConfiguration без каких-либо проблем.
[TestMethod()]
public void LoadGoodConfigurationFromExeTest()
{
using (StreamWriter sw = new StreamWriter(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath))
{
sw.Write(Resources.GoodConfiguration);
}
AlphaProjectConfiguration actual = new AlphaProjectConfiguration();
actual.LoadFromExe();
Assert.IsNotNull(actual);
}
Я просто приложил все свои усилия для решения этой проблемы, и сейчас я действительно избавляюсь от нее. Вот почему я прошу помощи у сообщества сейчас.
Благодаря.
Edit:
Этот тестовый класс содержит 3 других теста, которые почти делают то же самое.
Я пробовал это на Windows 7 x64 и Windows XP x86 с VSTS 2008 SP1. Сбой происходит в обеих системах.