VS2017 и NUnit 3.9 Отсутствует тест

Я использую последнюю версию 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);
      }

    }

Here is a screenshot of my tests

Текст с вывода:

[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) ==========

Ответы

Ответ 1

У меня была та же проблема, что и Amete Blessed, и комментирование других методов тестирования заставил Test Explorer работать и запустить мой тест

Ответ 3

Можете ли вы проверить следующие шаги и посмотреть, работает ли это?

  1. В меню Visual Studio перейдите в Test > Test Settings > Default Processor Architecture и сделайте заметку, если выбран X86 или X64
  2. Теперь перейдите в раздел " Build " в окне " Properties проекта, где написаны тесты. Убедитесь, что раскрывающийся список Platform target выбран либо Any CPU либо, по крайней мере, соответствует архитектуре из вышеописанного step 1.

Теперь, если вы создадите решение и попробуйте запустить эти тесты, вы должны увидеть, что они теперь запущены.

Ответ 4

Я обнаружил, что мои события сборки были неправильными. Неверная команда копирования ударила все мои тесты и полдня:

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

Ответ 5

Сообщения в окне тестового вывода ("NUnit не удалось загрузить [сборка]", "Нет теста доступно..." и т.д.) Могут скрыть основную проблему, из-за которой бегун не загружает тестовую сборку. Сюда входят скрытые сбои загрузки зависимостей тестовой сборки или тестируемого элемента.

Если есть тестовая сборка, которая появляется в окне тестового проводника, но тесты отказываются запускать, стоит временно включить ведение журнала фьюжн, чтобы узнать, возникают ли какие-либо ошибки привязки сборки при попытке выполнить тесты.

Ответ 6

После установки NUnit через nuget тесты появились в Test Explorer, но когда я их запустил, я получил "Нет теста". Исправлена проблема с установкой адаптера NUnit Test Adapter.

Ответ 7

Возможно, вы были жертвой этой проблемы, которая была (теоретически) решена в 15.6.3. В соответствии с этим ответом попробуйте удалить папку %temp%\VisualStudioTestExplorerExtensions. Это решило проблему для некоторых других пользователей.

Ответ 8

Вместо того, чтобы использовать тестовый проводник, вы можете щелкнуть правой кнопкой мыши по решению и выполнить тесты оттуда?

Ответ 9

У меня была схожая проблема при использовании Xamarin.Forms. Решение заключалось в установке NUnit.XForms из NuGet и добавлении

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />

в файл csproj проекта, где проходят тесты.

Ответ 10

Была такая же проблема. В моем случае я обнаружил, что тестовый адаптер 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

Ответ 11

Для меня сработало удаление папки ComponentModelCache расположенной по адресу %localappdata%\Microsoft\VisualStudio\<version>

Ответ 12

Это связано с проблемой памяти.

  • Очистить объект после выполнения теста

Образец кода

private TestController testController;

[OneTimeSetUp]

public void TestSetup()

{

testController= new TestController();

}



[OneTimeTearDown]

public void TestCleanup()

{

testController= null;

}
  • Измените выполнение теста на 64 бита в настройках

Тест → Настройки теста → Архитектура процессоров по умолчанию → x64.