У меня есть простое решение в Visual Studio 2013, которое состоит из одного веб-проекта, одного библиотечного проекта и одного проекта модульного тестирования. Когда я открываю решение и пытаюсь запустить модульные тесты, они не обнаруживаются Visual Studio. Чтобы запустить тесты, я пытаюсь зайти в меню и выбрать «Тест» -> «Выполнить» -> «Выполнить все тесты» или открыть окно «Проводник тестов». Тем не менее, Visual Studio не обнаруживает никаких тестов в решении.
Создавая сначала простой проект модульных тестов и пытаясь запустить тест, Visual Studio знает, как открыть тест, и я могу его запустить. Затем, если я открою свое предыдущее решение, то Visual Studio обнаружит все тесты. Я пытаюсь сохранить свое решение, но закрывая его и открывая заново, не создавая сначала проект модульного теста, визуальная студия больше не находит тесты. Это очень странное поведение, я не знаю, почему это происходит.
Раньше я работал один в этом проекте, в котором использовался git для управления версиями, интегрированный с командой Visual Studio Team Foundation. Проблема Visual Studio заключается в том, что юнит-тесты не запускаются, когда в проект приходит новый элемент и когда мне нужно пересоздать решение через систему контроля версий онлайн. До этого все тесты всегда открывались визуальной студией.
Для создания модульных тестов я использую dll Microsoft.VisualStudio.QualityTools.UnitTestFramework. Моя версия Visual Studio: Microsoft Visual Studio Express 2013 для веб-версии 12.0.30723.00 Обновление 3. Моя версия .net Framework - 4.5.50938.
Все мои тесты такие:
[TestClass]
public class Service1Test
{
[TestMethod]
public void Test1()
{
Assert.IsTrue(True);
}
}
источник
Ответы:
Некоторые вещи, которые я заметил, я должен делать время от времени, чтобы тесты отображались правильно.
Если ваше решение находится на защищенном диске, который требует доступа администратора для чтения / записи, иногда подходит только часть тестов. Определенно запустите VS от имени администратора в этом случае.
Если ваше решение является 64-битным, убедитесь, что Test> Test Settings> Default Processor Architecture имеет значение x64. Иногда он устанавливается на x86. Установите x64, затем восстановите.
Иногда просто перезапустите Visual Studio, потому что тестовый обозреватель снова запустится.
Не забудьте на самом деле построить тестовый проект / решение. (Если вы хотите, чтобы он был собран с остальными проектами, щелкните правой кнопкой мыши свое решение> Свойства> Свойства конфигурации> Конфигурация> установите флажок «Построить» для своего тестового проекта)
Убедитесь, что тесты находятся в
public
разделе вашего тестового классаисточник
Если вы используете NUnit, сначала загрузите адаптер NUnit.
Перейдите в Инструменты → Расширения и обновления… → Онлайн → найдите «NUnit Test Adapter».
источник
Убедитесь, что ваш тестовый класс таков,
public
что его можно найти. И если вы ссылаетесь на другой класс, убедитесь в том же.Кроме того, иногда, если у вас нет утверждений или вы не украшаете тест с помощью
[TestMethod]
, тест может не распознаваться.Еще 2 вещи: 1) Асинхронные юнит-тесты в лучшем случае выглядят забавно, а в худшем - ни одного. Посмотрите на эту статью по Стивен Клири и сохранить оттуда , если это вас интересует.
2) Если вы используете NUnit и сталкиваетесь с теми же проблемами, имейте в виду, что это
[TestCase]
для Nunit, а не[TestMethod]
Сказав вышесказанное, вот статья, которую я опубликовал в проекте кода, с обоими
MSTest
&NUnit
, на случай, если вы захотите сделать это и убедиться, что ничего не пропустили.источник
using Microsoft.VisualStudio.TestTools.UnitTesting;
У меня была такая же проблема, но ни одно из других решений не помогло. Оказывается, я использовал фреймворк NUnit 3 с адаптером 2.
Если вы используете NUnit 3, перейдите в раздел Расширения и обновления и установите тестовый адаптер NUnit3.
источник
У меня эта проблема время от времени. Что мне подходит, так это отключить Visual Studio и перейти в папку:
и удалите его содержимое.
После того, как вы откроете Visual Studio и загрузите ваш проект снова, Test Explorer должен содержать ваши тесты
источник
%LocalAppData%\Microsoft\VisualStudio\16.0_03b7a93c\ComponentModelCache
Пользователи XUnit могут заметить, что в окне Test Explorer больше нет списков тестов. Чтобы снова сделать тесты доступными, попробуйте этот важный совет , выделенный ниже.
источник
Для будущих гуглеров у меня был редкий сценарий, который вызвал это.
В моем базовом тестовом классе у меня было свойство с именем TestContext. Это вмешалось в зарезервированное свойство TestContext MSTest, в результате чего все мои тесты были скрыты от VS / Resharper, кроме одного (которое не наследовало от базы).
источник
public
.для меня это было изменение «конфигурации решения» на Debug (вместо Release).
источник
Моя проблема заключалась в том, что мой метод модульного тестирования не был пустым , и он получал параметры.
источник
Я обнаружил, что методы модульного тестирования, помеченные как
async void
не обнаруженные VS Test Explorer. Похоже, это связано с тем, что VS не сможет дождаться окончания теста и решить, успешен он или нет. Если вам абсолютно необходимо иметь асинхронный метод тестирования, то получите его, чтобы он возвращал задачу, а не какasync Task
. Я обнаружил, что это решило проблему для меня.источник
Попробуйте построить все проекты как MSIL (любой процессор) вместо x86 / x64. У меня странно получалось
источник
В то время как решение AndyG работает, более долгосрочным решением может быть установка переменной среды PreferredToolArchitecture равной «x64», либо с помощью:
Как заставить Visual Studio использовать нативный набор инструментов amd64
или по:
источник
Я столкнулся с той же проблемой, и я снова вспомнил (такая ситуация уже случалась), что выбор «Смешанная платформа» в меню платформы решений работает, как и другие ответы.
источник
Мне удалось добавить мой как
начал работать, как только я снял статический ....
источник
Перейдите в менеджер пакетов Nuget и загрузите адаптер Nunit следующим образом.
источник
перейдите в меню проекта> Configuration Manager, чтобы проверить, соответствует ли платформа вашего тестового проекта остальной части проекта, и проверить, что нужно собрать, а затем перестроить.
источник
Просто столкнулся с этим, так как я не видел аналогичного случая, который был бы похож на мой.
В
.csproj
файле моего тестового проекта для конфиденциальности ссылки NUnit было задано значениеFalse
:После того как я приступил
<Private>
к работе сTrue
этим.источник
Вам просто нужно установить только этот пакет:
NUnit TestAdapter
источник
Чтобы отобразить тесты в окне Test Explorer, мне нужно было установить тестовый адаптер NUnit3 3.0, который не был доступен в диспетчере пакетов.
Скачано с https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d
источник
У меня была точно такая же проблема.
Это было связано с несовместимой версией NUnit, которую я добавил в свой проект (3.2.0), и с установленным мной тестовым адаптером (2.0.0).
Чтобы исправить это, используйте «Инструменты> Расширения и обновления» и найдите тестовый адаптер NUnit3, он обнаружил мои тесты после этого.
ура
источник
Давайте просто скажем, что вам нужно использовать архитектуру X64 в вашем тестовом проекте, чтобы правильно построить зависимости (как в моем случае). Вам может потребоваться изменить архитектуру процессора по умолчанию в меню « Тест - Настройки теста» . Установка этого параметра в X64 позволила моему тест-проводнику находить мои тесты, используя Microsoft.VisualStudio.TestTools.UnitTesting.
источник
Извините за добавление в длинный список, но у меня была совершенно другая проблема. Во-первых, я хотел бы упомянуть, что обнаружил свою проблему, щелкнув «Выполнить все» в Test Explorer, а затем просмотрев окно вывода сборки в Visual Studio. Вы должны активно смотреть его, так как после этого сообщение исчезает.
Что касается проблемы, похоже, что во время сканирования тестов библиотека DLL загружается и перечисляются ее типы тестов. Это приводит к загрузке ссылок, и если в ходе этого процесса произойдет сбой, тесты не будут отображаться в проводнике. У меня было две проблемы, препятствующие успешной загрузке тестовой DLL:
источник
Если вы загрузите решение Visual Studio (в моем случае сообщество VS 2015) из общего сетевого ресурса или из каталога «Мои документы», который является частью общего ресурса , вы попадете в эту проблему. Я решил это, переместив решение и лежащие в его основе проекты в локальную папку.
источник
Проведя 2 дня ... ничего из вышеперечисленного не помогло мне. Единственным «решением» было: Перейти в свойства проекта -> Build Tab. Затем нажмите кнопку «Дополнительно» в правом нижнем углу панели. Измените «Debug Info:» на «full» и нажмите «ОК».
Вот скриншоты:
источник
Я столкнулся с той же проблемой. И исследовал и обнаружил, что dll не были собраны, а помещены в нужную папку. как только я изменил свою конфигурацию, они появились. - Варианты сборки проектов, какую папку использовать? - пункт меню сборки конфигурации сборки, они должны быть проверены.
это исправило это для меня.
источник
Для Visual Studio 2013.5 помогла очистка каталога \ TestResults в решении. Visual Studio повредила mdf-файл, в котором хранятся обнаруженные тесты, что препятствовало обнаружению модульных тестов.
источник
Убедитесь, что все ваши проекты работают с одинаковой конфигурацией. Под Свойства вашего проекта => Debug => Платформа в раскрывающемся списке выберите соответствующую платформу (для меня это был «Любой процессор»), как определено в других ваших проектах.
источник
источник
Была такая же проблема; тесты внезапно перестали обнаруживаться.
Nunit Test Adapter как-то отключился. Нажатие включения в диспетчере расширений исправило это для меня.
источник
У меня была такая же проблема, пока я не понял, что сделал ошибку вырезать / вставить и остановился
[Test Method]
перед тестом.источник