Почему мое тестовое представление в Visual Studio работает так медленно?

У меня есть VS 2010 Ultimate с расширениями ReSharper, Reflector и SpecFlow. Я использую SpecFlow в одном из своих тестовых проектов вместе с WebDriver для автоматического тестирования пользовательского интерфейса. Сейчас я приближаюсь к 400 отдельным тестовым сценариям в этом проекте.

Когда я открываю Visual Studio, все в порядке (кроме некоторой обычной медленности синхронизации, характерной для ReSharper). Однако, как только я нажимаю на вкладку, чтобы отобразить встроенный «Тестовый просмотр», VS зависает примерно на 60 секунд, пока загружаются тесты.

Я обеспокоен тем, что ситуация ухудшится по мере того, как мы будем проводить больше тестов в проекте SpecFlow. Есть ли что-нибудь, что я могу изменить в своем файле TestSettings, чтобы сделать это быстрее? Должен ли я вообще отказаться от файла TestSettings, или это даже невозможно? Или мне следует переключиться с использования MSTest со SpecFlow на что-то другое, например NUnit, чтобы исчезла медлительность Test View?


person danludwig    schedule 15.10.2011    source источник


Ответы (1)


У меня ушла вся проклятая ночь, но я понял это. У меня были следующие проекты и пространства имен:

MyCompany.MyApp (proj dll)
MyCompany.MyApp (proj namespace)

MyCompany.MyApp.UnitTest (proj dll)
MyCompany.MyApp (proj namespace)

MyCompany.MyApp.WebTest (proj dll)
MyCompany.MyApp (proj namespace)

Проект specflow/webdriver был проектом «WebTest». Изменив пространство имен проекта по умолчанию с «MyCompany.MyApp» на «MyCompany.MyApp.WebTest» и обновив пространства имен всех файлов, чтобы они соответствовали этому, тестовое представление теперь загружается за 3 секунды.

Надеюсь, это поможет кому-то. Тестовое представление, должно быть, пыталось решить какой-то конфликт пространств имен между тестовым проектом и проектом приложения.

person danludwig    schedule 16.10.2011
comment
Да. Как только я изменяю пространство имен в проекте SpecFlow/WebDriver обратно на MyCompany.MyApp, все файлы *.feature.cs регенерируются, и тестовое представление снова загружается медленно. На самом деле, я нашел причину, создав совершенно новый проект SF/WD, и с этим проектом все было в порядке, пока я не изменил имя проекта по умолчанию. - person danludwig; 19.10.2011