Тесты NUnit Unit не отображаются в тестовом проводнике с установленным тестовым адаптером

Я установил NUnit Test Adapter для VS2012 + 2013. Когда я впервые установил тесты адаптера, они перестали появляться по какой-то причине сегодня. После сборки, восстановления, очистки, перезапуска в Test Explorer ничего не отображается. Почему это происходит? Я использую VS2013 Ultimate.

Ответ 1

Если ваш тестовый проект настроен на целевую 64-битную платформу, тесты не будут отображаться в тестовом адаптере NUnit.

Ответ 2

Если вы используете версию NUnit3 +, доступен новый тестовый адаптер.

Перейдите в раздел "Инструменты → Расширения и обновления → Онлайн" и найдите "Тестер NUnit3" , а затем установите.

Ответ 3

Моя тестовая сборка - 64-разрядная. Из строки меню в верхней части visual studio 2012 я смог выбрать "Test" → "Test Settings" → "Архитектура процессора по умолчанию" → "X64". После "Rebuild Solution" из меню "Build" я смог увидеть все мои тесты в тестовом проводнике. Надеюсь, это поможет кому-то еще в будущем = D.

Ответ 4

Установите "NUnit Test Adapter"

Инструменты → Расширения и обновления → Онлайн → Поиск "Nunit Test Adapter" → Нажмите "Тестер NUnit Test Adapter" в списке результатов → Нажмите кнопку "Загрузить"

Ответ 5

Проверьте несоответствие версий NUnit. Доступный в настоящее время адаптер NUnit Test Adapter работает только для NUnit версии 2.6.4 и ниже. Чтобы понизить NUnit от версии 3.x, перейдите к Консоль диспетчера пакетов > пакет обновления NUnit -version 2.6.4

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html

Ответ 6

В моей ситуации "NUnit3 Test Adapter" отключен. Чтобы снова включить его, перейдите в меню

Инструменты- > Расширения и обновления...

С левой стороны выберите "Установлено" → "Все".

В правом верхнем углу найдите "nunit".

Если у вас установлен "NUnit3 Test Adapter", с найденным элементом вы можете включить/отключить его.

введите описание изображения здесь

Ответ 7

Если вы используете VS 2017 и .NET ядро, как сказано здесь, вы должны добавить ссылки на испытательной базы NUnit 3.6.1, на тест бегун NUnit3TestAdapter 3.8.0-альфа1 и тест SDK Microsoft.NET.Test.Sdk 15.0.0.

Ответ 8

Этот ответ кажется довольно простым, но сначала не был полностью очевиден. Если вы (заново) создаете решение, оно только строит проекты, которые настроены для сборки в Build -> Configuration Manager

Это была моя проблема, я должен был непреднамеренно изменить настройки конфигурации сборки или что-то, что заставило мои тестовые проекты не строить (когда они были ранее). Таким образом, окно Test Explorer смотрело на dll, устаревшие. Мне стало ясно, что это произошло после выполнения Clean и видя, что большинство моих тестов исчезают и не возвращаются после rebuild... дальнейшая проверка папки bin показала, что эти проекты не были построены на всех.

Ответ 9

  1. инструменты
  2. NuGet Package Manager
  3. Управление пакетами NuGet для решения
  4. Просматривать
  5. NUnitTestAdapter.WithFramework
  6. Ctrl + R, A, чтобы построить/запустить тесты

enter image description here

Использование NUnitTestAdapter.WithFramework гарантирует, что между версиями NUnit и NUnit Adapter практически нет несоответствий (т.е. "Это просто работает")

Ответ 10

У меня была рабочая настройка (для NUnit2 и NUnit3 в зависимости от решения и несколько версий Visual Studio в период с 2012 по 2017 год), и она внезапно перестала работать в один прекрасный день: никаких тестов не обнаружено ни в одном решении, ни в версии VS.

В моем случае это помогло удалить %localappdata%\Temp\VisualStudioTestExplorerExtensions. После перезагрузки VS все работало по-прежнему.

Ответ 11

Перейдите в диспетчер пакетов Nuget и загрузите адаптер Nunit следующим образом.

введите описание изображения здесь

Ответ 12

Проверьте, указали ли вы [TestFixureSetUp] и [Test]

в тестовом классе

образец:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}

Ответ 13

Я решил использовать эти версии:

NUnit → 3.2.0

NUnit3TestAdapter → 3.0.8-ctp-8

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

Ответ 14

В нашем случае это несоответствие версии адаптера тестового адаптера NUnit. В основном наш NUnit был 3.x, а тестовый адаптер был 2.x.

Выполнено

Расширение Visual Studio > Установите адаптер Unit 3.x для визуальной студии и все начали работать.

Ответ 15

Еще одна причина для этой проблемы - открыть проект из сопоставленного диска. Visual Studio правильно обрабатывает такие проекты, но, судя по всему, Nunit не поддерживает их.

Копирование проекта в физическое исправило проблему.

Ответ 16

Я также обнаружил, что когда я удалил nunit v3.2.1, ссылка на nunit для v3.2.1 все еще была в моем проекте в explorer. Обозреватель решений > Имя_проектa > Ссылки

Если вы щелкните правой кнопкой мыши, вы увидите версию. Удали это Затем щелкните правой кнопкой мыши ссылку Ссылки > Добавить ссылку.

Найдите версию версии 2.x и добавьте затем решение для восстановления.

Это сработало для меня!

Ответ 17

Единственное, что сработало, это вернуться к более ранней версии как для NUnit, так и для NUnit3TestAdapter.

Ответ 18

У меня возникла проблема, описанная op

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

эта цепочка задач решила проблему для меня

  • создал тестовый проект,
  • переместил тестовые файлы там
  • добавлены ссылки, поэтому тестовый проект будет компилировать
  • добавлены пакеты Nuit и Nunit адаптера NuGet в тестовый проект
  • перекомпилированы

Мне удалось успешно выполнить тесты Nunit.

Ответ 19

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

Ответ 20

Мне пришлось удалить, а затем повторно установить пакет xunit.runner.visualstudio nuget. Я пробовал это, пробовав все вышеперечисленные предложения, так что может быть, это было смешение вещей.

Ответ 21

У меня была аналогичная проблема, где тесты не были обнаружены. У меня была правильная версия NUnit, версии, сопоставленные между NUnit и адаптером, и те тесты, где были помечены правильно. Я запускал VS 2017 Enterprise не как администратор. После запуска VS в качестве администратора появились тесты.

Ответ 22

Я начал новое решение с тестовым проектом в нем и сравнил его с моим оригинальным проблемным проектом. У оригинала по какой-то причине был app.config. Я исключил этот файл из проекта и увидел, что мои тесты снова появляются в тестовом проводнике.

Ответ 23

У меня тоже была эта проблема, но причина была другая. Я использую VS2017 с F # 4.0.

Во-первых, консоль в Visual Studio не дает вам достаточно деталей, почему тесты не могут быть найдены; он просто не сможет загрузить DLL с помощью тестов. Поэтому используйте команду NUnit3console.exe в командной строке, так как это дает вам более подробную информацию.

В моем случае это произошло потому, что тестовый адаптер искал более новую версию F # Core DLL (4.4.1.0) (F # 4.1), тогда как я все еще использую 4.4.0.0 (F # 4.0). Поэтому я просто добавил это в app.config тестового проекта: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

то есть. перенаправить на более раннее ядро ​​F #.

Ответ 24

Это сводило меня с ума. Мне пришлось удалить все пакеты nunit nuget, а затем повторно установить только NUnit:

nuget

Между тем был установлен и активирован тестовый адаптер NUnit 3:

введите описание изображения здесь

Ответ 25

У меня была такая же проблема, когда вдруг в окне Test Explorer не появилось ни одного теста. У меня есть обновленная версия "NUnit3TestAdapter"

и после многих поисков и усилий я обнаружил, что мне нужно установить следующие значения в свойствах проекта: [В окне обозревателя решений: щелкните правой кнопкой мыши Project> Properties] На вкладке Build установите Platform = x64 и установите Platform target = x86 или Любой процессор Создайте проект, и все тесты появятся в окне Test Explorer.

Важное примечание: я пришел к решению, увидев следующее сообщение в окне вывода:

"В тестовом прогоне будут использоваться библиотеки DLL, созданные для платформы Framework45 и платформы X86. Следующие библиотеки DLL не будут частью прогона: AutomationTests.dll создан для Framework Framework45 и платформы X64".

Ответ 26

У меня были некоторые зависшие процессы msbuild.exe. Я не знаю, была ли это моя проблема или нет, но мне потребовалось много времени и ошибок при переустановке различных адаптеров NUnit, прежде чем я обнаружил зависшие процессы.

Ответ 27

Просто чтобы добавить свои $.02 здесь, я столкнулся с подобной проблемой только вчера, где 168 моих тестов отсутствовали. Я попробовал почти все в этом посте - особенно убедившись, что мои версии NUnit были одинаковыми - все безрезультатно. Затем я вспомнил, что мои тесты были разделены на плейлисты; и они не обновляются автоматически при добавлении новых тестов. Итак, когда я удалил плейлисты, BAM! все мои тесты вернулись еще раз.

Ответ 28

Убедитесь, что ваши тесты правильно помечены атрибутом Test. Если все тесты помечены только атрибутом Explicit, TestAdapter не распознает прибор.