Почему все мои результаты теста Visual Studio "Не выполнены",
Когда я запускаю свои модульные тесты в своем проекте, я вижу результат "Не выполнен" для каждого. Я перезагрузил свой компьютер, поэтому я сомневаюсь, что это какая-то проблема с зависанием.
Google ничего не обнаружил. У кого-нибудь есть идеи?
Ответы
Ответ 1
Что такое PITA! В IDE отсутствуют ошибки. Чтобы определить ошибку, вы должны сделать это
- Откройте командную строку Visual Studio
- Перейдите в каталог, где находится двоичный вывод вашего тестового проекта.
- Введите mstest/testcontainer:The.Name.Of.Your.Test.Assembly.dll
В нижней части вывода вы увидите следующий текст
Запуск имеет следующие проблемы:
В моем случае это было следующее:
Не удалось запустить тестовый прогон "Peter Morris @PETERMORRIS-PC 2009-02-09 10:00:37": проблема с запуском тестового запуска: расположение файла или каталога "C:\SomePath\SomeProject.Tests\bin\Debug\Rhino.Mocks.dll 'не доверяется.
Теперь, если VS сказал мне об этом в IDE, я мог бы исправить это за несколько минут! Все, что вам нужно сделать, это открыть проводник Windows и найти эту DLL. Щелкните его правой кнопкой мыши и выберите "Свойства". Затем нажмите кнопку "Разблокировать".
Какая полная трата моего времени!
Ответ 2
Не выполняются юнит-тесты
Я обнаружил, что хороший совет никогда не иметь конструктора для класса unit test. Если что-либо в конструкторе когда-либо бросает, тест будет просто объявлен как "не выполнен". Положите инициализацию теста в метод TestInitialize. Исключения, отправленные там, сообщаются IDE.
Заблокированные двоичные файлы
Обычно вам нужно разблокировать файл ZIP, прежде чем извлекать из него двоичные файлы, а затем все двоичные файлы будут разблокированы. Если вы попытаетесь разблокировать сами бинарные файлы, разблокировка не "прилипает".
Ответ 3
Другая причина: "Не удалось запустить тестовый прогон" XXX ". Путь не имеет юридической формы." заключается в том, что учетная запись не загружена профилем.
например. когда вы запускаете mstest.exe с помощью CreateProcessAsUser() и забываете вызвать LoadUserProfile().
Ответ 4
Если вы попытаетесь запустить тестовый прогон от IIS "Не удалось запустить тестовый прогон" XXX ". Путь не имеет юридической формы." может быть если пользователь, который запускает пул приложений , не имеет профиля пользователя. Чтобы решить эту проблему, просто установите Load User Profile в true в дополнительных настройках пула приложений.
см. https://social.msdn.microsoft.com/Forums/vstudio/en-US/7bb32a2d-7d10-4b8e-b743-e5beb1175917/trigger-mstest-from-app-hosted-on-iis?forum=csharpgeneral
и https://blogs.msdn.microsoft.com/vijaysk/2009/03/08/iis-7-tip-3-you-can-now-load-the-user-profile-of-the-application-pool-identity/
для получения дополнительной информации
Ответ 5
Иногда ошибка также может быть " Не удалось запустить тестовый запуск" XXX ". Путь не имеет юридической формы."
Решением может быть изменение шаблона именования TRX в файле .testsettings.
Цитата из http://social.msdn.microsoft.com/Forums/da-DK/vststest/thread/c6efa2ba-1657-41bc-85b1-5a889d111e2f:
Если вы хотите управлять именем этого .trx файла, откройте его Решение Explorer, откройте Local.testsettings в элементах решения, выберите "Общие", изменить схему именования по умолчанию на пользовательскую схему. И затем,
Ответ 6
Убедитесь, что ваш тестовый класс и методы тестирования общедоступны.
Ответ 7
В моем случае в моем коде была циклическая ссылка. Компиляция сработала, но тесты просто помечены как "Не запускаются".