Ответ 1
У меня была та же проблема, что и Amete Blessed, и комментирование других методов тестирования заставил Test Explorer работать и запустить мой тест
Я использую последнюю версию VS2017 15.6.4, NUnit3TestAdapter 3.10.0 и Nunit версии 3.9.0.0.
Когда я пытаюсь запустить единичный тест в тестовом обозревателе, теги становятся серыми, когда я нажимаю правой кнопкой мыши и запускаю выбранные тесты, я вижу следующую ошибку: нет теста. Вот как выглядит мой тестовый класс
[TestFixture]
public partial class ListViewBOTest
{
[Test]
public void TestSearch_DateTime()
{
Assert.AreEqual(1,0);
}
}
Текст с вывода:
[3/26/2018 10:53:55 AM Informational] ------ Run test started ------
[3/26/2018 10:53:55 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[3/26/2018 10:53:55 AM Informational] Running all tests in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit failed to load C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[3/26/2018 10:53:56 AM Warning] No test is available in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[3/26/2018 10:53:56 AM Informational] ========== Run test finished: 0 run (0:00:01.0435303) ==========
У меня была та же проблема, что и Amete Blessed, и комментирование других методов тестирования заставил Test Explorer работать и запустить мой тест
Убедитесь, что вы установили тестовый адаптер NUnit3 здесь
https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter
Можете ли вы проверить следующие шаги и посмотреть, работает ли это?
Test > Test Settings > Default Processor Architecture
и сделайте заметку, если выбран X86
или X64
Build
" в окне " Properties
проекта, где написаны тесты. Убедитесь, что раскрывающийся список Platform target
выбран либо Any CPU
либо, по крайней мере, соответствует архитектуре из вышеописанного step 1
.Теперь, если вы создадите решение и попробуйте запустить эти тесты, вы должны увидеть, что они теперь запущены.
Я обнаружил, что мои события сборки были неправильными. Неверная команда копирования ударила все мои тесты и полдня:
Copy C:\repo\Architecture\*.json $(ProjectPath)/Y
Copy C:\repo\Architecture\*.json $(TargetPath) /Y
вместо
Copy C:\repo\Architecture\*.json $(ProjectDir)/Y
Copy C:\repo\Architecture\*.json $(TargetDir) /Y
Сообщения в окне тестового вывода ("NUnit не удалось загрузить [сборка]", "Нет теста доступно..." и т.д.) Могут скрыть основную проблему, из-за которой бегун не загружает тестовую сборку. Сюда входят скрытые сбои загрузки зависимостей тестовой сборки или тестируемого элемента.
Если есть тестовая сборка, которая появляется в окне тестового проводника, но тесты отказываются запускать, стоит временно включить ведение журнала фьюжн, чтобы узнать, возникают ли какие-либо ошибки привязки сборки при попытке выполнить тесты.
После установки NUnit через nuget тесты появились в Test Explorer, но когда я их запустил, я получил "Нет теста". Исправлена проблема с установкой адаптера NUnit Test Adapter.
Возможно, вы были жертвой этой проблемы, которая была (теоретически) решена в 15.6.3. В соответствии с этим ответом попробуйте удалить папку %temp%\VisualStudioTestExplorerExtensions
. Это решило проблему для некоторых других пользователей.
Вместо того, чтобы использовать тестовый проводник, вы можете щелкнуть правой кнопкой мыши по решению и выполнить тесты оттуда?
У меня была схожая проблема при использовании Xamarin.Forms. Решение заключалось в установке NUnit.XForms из NuGet и добавлении
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
в файл csproj проекта, где проходят тесты.
Была такая же проблема. В моем случае я обнаружил, что тестовый адаптер NUnit не будет использоваться Test Explorer, если ваш тестовый проект содержит ссылку на MSTest. Как правило, Microsoft.VisualStudio.TestPlatform.TestFramework.dll, но также проверьте файл .csproj на наличие "MSTest" и файл packages.config.
Я обнаружил это, сначала включив ведение журнала диагностики для тестов Visual Studio. Это находится в разделе "Инструменты" → "Параметры" → "Тесты" → "Уровень ведения журнала".
В моем журнале я нашел эту запись:
[22/11/2018 10:36:42 Диагностика] Проект C:\Git\myProject\src\myProject.Tests\myProject.Tests.csproj ссылается на тестовый адаптер ссылок: MSTest.TestAdapter, версия 1.1.18
Для меня сработало удаление папки ComponentModelCache
расположенной по адресу %localappdata%\Microsoft\VisualStudio\<version>
Это связано с проблемой памяти.
Образец кода
private TestController testController;
[OneTimeSetUp]
public void TestSetup()
{
testController= new TestController();
}
[OneTimeTearDown]
public void TestCleanup()
{
testController= null;
}
Тест → Настройки теста → Архитектура процессоров по умолчанию → x64.