Не работают юнит тесты в Visual Studio
У меня было задание в котором был класс с разными функциями и так далее, к нему прилагались юнит тесты. Когда я пытался запустить прогу, писало что это не executable класс и что там просто функции (ну или что-то в этом роде), тогда я пробовал запустить юнит тесты, но они один из них не срабатывал — именно не срабатывал, они не выдавали ошибку, только выходил синий восклицательный знак (visual studio).
Я скипнул это задание, потеряв баллы. Думал что это единичная проблема, и такого больше не будет. Как оказалось все задания без исполнительного класса не могут пройти юнит тесты. Вопрос, что мне делать? Ниже пару скринов
Вопросы и ответы об обозревателе тестов Visual Studio
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Обнаружение динамических тестов
Обозреватель тестов не обнаруживает тесты, определенные динамически. (Например, теории, пользовательские адаптеры, пользовательские признаки, #ifdef и т. д.) Как сделать, чтобы они обнаруживались?
Выполните сборку проекта, чтобы запустить обнаружение на основе сборок.
Обнаружение тестов в реальном времени основано на источнике. Оно не способно обнаружить тесты, которые используют теории, пользовательские адаптеры, пользовательские признаки, операторы #ifdef и т. п., так как они определяются во время выполнения. Чтобы правильно распознать такие тесты, нужно выполнить сборку. В Visual Studio 2017 15.6 и более поздних версий обнаружение на основе сборок (традиционный метод) выполняется только после сборки. Это означает, что обнаружение тестов в реальном времени определяет максимально возможное количество тестов в процессе редактирования, а после сборки к ним добавляются динамически определяемые тесты благодаря обнаружению на основе сборок. Обнаружение тестов в реальном времени повышает скорость реакции системы, но сохраняет возможность получить полные и точные результаты после сборки.
Обозреватель тестов, символ плюса (+)
Что означает символ «+» (плюс) в верхней строке обозревателя тестов?
Символ «+» (плюс) означает, что после сборки и выполнения обнаружения на основе сборок могут быть обнаружены дополнительные тесты. Этот символ отображается, если в проекте обнаружены динамически определяемые тесты.

Обнаружение тестов в режиме реального времени
Теперь тесты появляются в обозревателе тестов сразу при вводе кода, не дожидаясь сборки. Что изменилось?
Эта возможность называется Обнаружение тестов в реальном времени. На основе анализатора Roslyn она обнаруживает тесты и переносит данные о них в обозреватель тестов прямо в режиме реального времени, еще до сборки проекта. Дополнительные сведения об алгоритме обнаружения для динамически определяемых тестов, например с использованием теорий или пользовательских признаков, см. в разделе Обнаружение динамических тестов.
Совместимость с обнаружением тестов в реальном времени
Какие языки и платформы тестирования поддерживают обнаружение тестов в реальном времени?
Обнаружение тестов в реальном времени работает только для управляемых языков (C# и Visual Basic), так как оно создано на основе компилятора Roslyn. На данном этапе обнаружение тестов в реальном времени работает только для платформ MSTest, NUnit и xUnit.
Журналы обозревателя тестов
Как можно включить журналы для обозревателя тестов?
Откройте Сервис>Параметры>Тест и найдите раздел «Ведение журнала».
Обнаружение тестов UWP
Почему мои тесты в проектах UWP не обнаруживаются без развертывания приложения?
Тесты UWP ориентируются на другую среду выполнения при развертывании приложения. Это означает, что для точного обнаружения тестов для проектов UWP нужно не только собрать, но и развернуть проект.
Сортировка в обозревателе тестов
Как работает сортировка результатов тестирования в иерархическом представлении?
Иерархическое представление сортирует тесты по алфавиту, а не по результату. Предыдущие параметры группирования сортировали результаты тестов по результату, а затем по алфавиту. Вы по-прежнему можете включить сортировку по результату, щелкнув правой кнопкой мыши заголовок столбца в обозревателе тестов, включив столбец «Состояние», а затем щелкнув заголовок столбца «Состояние», чтобы применить сортировку по этому столбцу. Вы можете оставить отзыв о такой схеме сортировки в этом вопросе в GitHub.
Иерархическое представление в обозревателе тестов
В иерархическом представлении возле группирований родительских узлов есть значки пройденных, непройденных, пропущенных и невыполненных тестов. Что означают эти значки?
Значки возле группирований проектов, пространств имен и классов указывают на состояние тестов в определенном группировании. См. следующую таблицу.
![]()
Поиск по пути к файлу
В поле поиска обозревателя тестов исчез фильтр «Путь к файлу».
Фильтр «Путь к файлу» в поле поиска обозревателя тестов удален в Visual Studio 2017 версии 15.7. Эта функция используется мало. Чтобы обозреватель тестов получал методы теста быстрее, ее можно исключить. Если это изменение прерывает ваш поток разработки, сообщите нам, отправив отзыв в сообщество разработчиков.
Удаление недокументированных интерфейсов
Некоторые интерфейсы API, относящиеся к тесту, отсутствуют в Visual Studio 2019. Что изменилось?
В Visual Studio 2019 будут удалены некоторые API окон тестов, которые были ранее помечены как общедоступные, но никогда не были официально задокументированы. Они были помечены как «нерекомендуемые» в Visual Studio 2017, чтобы заранее предупредить группы обслуживания расширений. Насколько нам известно, с этими API-интерфейсами работала и была связана лишь незначительная часть расширений. К ним относятся IGroupByProvider , IGroupByProvider , KeyComparer , ISearchFilter , ISearchFilterToken , ISearchToken и SearchFilterTokenType . Если это изменение влияет на ваше расширение, сообщите нам, отправив сведения об ошибке в сообщество разработчиков.
Ссылка NuGet для адаптера теста
В Visual Studio 2017 версии 15.8 тесты обнаруживаются, но не выполняются.
Все тестовые проекты должны содержать ссылку NuGet на адаптер тестов .NET в файле с расширением .csproj. Если такая ссылка отсутствует, в проекте появляется следующая информация о тесте, если после сборки выполняется поиск через расширение адаптера тестов или если пользователь пытается запустить выбранные тесты:
Тестовый проект <> не ссылается на адаптер NuGet .NET. Обнаружение или выполнение тестов для этого проекта могут не работать. Мы рекомендуем включать ссылку на адаптеры тестов NuGet. в каждый проект теста .NET в решении.
Вместо расширений адаптеров тестов проекты должны использовать пакеты NuGet для адаптеров тестов. Это требование значительно повышает производительность и снижает проблемы с непрерывной интеграцией. Дополнительные сведения о прекращении поддержки расширения адаптера теста .NET можно найти в заметках о выпуске.
UWP TestContainer не найден
Мои тесты UWP больше не выполняются в Visual Studio 2017 версии 15.7 и более поздних версий.
Последние тестовые проекты UWP указывают свойство сборки платформы тестирования, что позволяет повысить производительность при обнаружении тестовых приложений. Если у вас есть тестовый проект UWP, который был инициализирован в версии Visual Studio ниже 15.7, в разделе Вывод>Тесты вы можете увидеть следующую ошибку.
System.AggregateException: возникла одна или несколько ошибок. —> System.InvalidOperationException: не удалось найти следующий объект TestContainer <> в Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider d__61.MoveNext()
Чтобы исправить эту проблему, сделайте следующее:
- Обновите свойство сборки тестового проекта, используя следующий код.
$(VisualStudioVersion)
- Обновите версию пакета SDK TestPlatform, используя следующий код.
Использование предварительных версий функций
В Visual Studio 2019 включить предварительные версии функции в разделе Инструменты > Параметры > Среда > Предварительные версии функций.
См. также
- Microsoft.VisualStudio.TestTools.UnitTesting
- Создание и запуск модульных тестов для существующего кода
- Модульное тестирование кода
- Функция Live Unit Testing: вопросы и ответы
Почему unit тест не работает?

я изучаю c# по курсам от окуловского
завис на теме с юнит тестами, у меня не работают эти тесты, написал все правильно вроде, проверяю, все в порядке, не понимаю В чем проблема.У автора курса т.к он снимал видео в 14 году наверное не 15 версия visual studio как у меня но все таки
Сама проблема: я запускаю тест и он не появляется в окне тестов, но сам якобы тест уже завершен
- Вопрос задан более трёх лет назад
- 1227 просмотров
1 комментарий
Оценить 1 комментарий
не запускаются все тесты в Visual Studio
у меня есть 10 тестов которые отлично работают при одиночном запуске. но как толко нужно запустить все 10 кнопкой Run All в visual studio — первый тест проходит, а остальные нет. после завершения скессии первого теста видно что браузер не запускается . оставшиеся 9 тестов падают один за одним без запуска брауера с ошибкой WebDriverException : Unexpected error. System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:54598
Отслеживать
задан 22 окт 2020 в 15:03
может предыдущий тест держит порт когда новый на него цепляется, попробуйте по завершению теста освобождать порт
– user341547
22 окт 2020 в 15:25
Используйте Selenium grid для паралельного выполнения тестов либо используйте сторонние штуки: ultimateqa.com/parallel-test-execution-using-selenium-webdriver или stackoverflow.com/q/3840028/5752652 (сам не пользовался)
