it-roy-ru.com

VS2017 и NUnit 3.9 Тест недоступен

Я использую последнюю версию VS2017 15.6.4, NUnit3TestAdapter 3.10.0 и Nunit версии 3.9.0.0. 

Когда я пытаюсь запустить модульный тест в Test Explorer, тест отображается серым цветом, когда я щелкаю правой кнопкой мыши и запускаю выбранные тесты, я вижу следующую ошибку: Нет доступных тестов Вот как выглядит мой тестовый класс

    [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) ==========
13
Amete Blessed

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

1
Cubelaster

Убедитесь, что вы установили тестовый адаптер NUnit3 отсюда

https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter

19
Peter Morris

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

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

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

11
hem

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

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
1
Erik McCarty

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

1
Alexander Razvalinov

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

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

1
Phil

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

0
Nick DeVore

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

0
Nick Booth

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

0
Joakim M. H.

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

0
Rob Powell

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

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

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

0
AGR