VS2010 Выполнить юнит-тест (ошибка) - PullRequest
3 голосов
/ 12 марта 2012

Когда я нажимаю на мой тестовый модуль и делаю «Выполнить тест» в контекстном меню. Результат теста не запустит хороший тест, как будто он не увидит мой новый тест и перезапустит мой последний тест снова и снова. Что не так с моей конфигурацией.

Кто-нибудь испытывает такую ​​же проблему?

Ответы [ 3 ]

0 голосов
/ 13 марта 2012

Visual Studio часто очень непостоянна в отношении новых тестов.Существует параметр конфигурации (Инструменты -> Параметры), который определяет, должна ли среда IDE подбирать новые тесты по мере их написания, однако это немного похоже на производительность, поэтому настройка по умолчанию отключена.

Visual Studio использует файл VSDMI для представления метаданных о тестах в решении.Этот файл обычно обновляется при компиляции решения, хотя бывают случаи, когда анализ всего решения не выполняется или не удается обнаружить новые тесты.Если этот файл не синхронизирован или тест, который вы пытаетесь запустить, отсутствует в VSDMI, тогда функция «запускать тесты в текущем контексте» не работает должным образом.Иногда он запускает нечеткий тест, иногда он запускает все тесты.

Чтобы решить, включите фоновое обнаружение новых тестов или откройте представление редактора списка тестов и щелкните значок обновления на его панели инструментов.Значок обновления приводит к быстрой перекомпиляции и обновлению vsdmi.

0 голосов
/ 14 марта 2012

Я обнаружил, что параметры контекстного меню для запуска тестов редко ведут себя так, как ожидалось, когда вы добавляете новый тест.Однако сочетания клавиш работают намного лучше.Control-R, T запускает тесты в «текущем контексте».Если ваш курсор находится в тестовом методе, он запускает этот метод.Если он находится в тестовом классе, он запускает все тесты в классе.Если он находится вне класса, я считаю, что он запускает все тесты в сборке (или, возможно, в пространстве имен).Здесь есть еще несколько комбинаций .Обратите внимание, что Control-R, Control-T выполняет тест (ы) «текущего контекста» в отладчике, что также полезно.

0 голосов
/ 12 марта 2012

У меня похожая ошибка с моими обычными проектами.Скажем, у меня есть открытый файл в текстовом редакторе VS, и этот файл принадлежит проекту A, который является DLL.Затем я щелкаю правой кнопкой мыши проект B, который является exe, и выбираю Debug-> Start New instance.Иногда (не всегда) VS пытается запустить проект A, поэтому я получаю сообщение об ошибке типа «Не удается запустить проект с выходным типом библиотеки классов».

Когда это происходит, я открываю файл изпроект B и оставьте его активным, пока я запускаю проект B. Это решает проблему.Поэтому попробуйте открыть файл из теста, который вы хотите запустить, и держать его активным, пока вы запускаете его из контекстного меню.Я думаю, что эта ошибка также влияет на выполнение тестов.Я думал о том, чтобы отправить отчет об ошибке, но мне стало лень ...

...