Модульные тесты NUnit не отображаются в Обозревателе тестов с установленным адаптером тестирования


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

29 126

29 ответов:

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

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

перейдите в раздел "Инструменты - > Расширения и обновления - > онлайн" и найдите "Тест Адаптер NUnit3" и затем установить.

моя тестовая сборка 64-битной. В строке меню в верхней части visual studio 2012 я смог выбрать "тест" - > "параметры тестирования" - > "архитектура процессора по умолчанию" - > "X64". После "перестроить решение" из меню "построить", я смог увидеть все мои тесты в Test explorer. Надеюсь, это поможет кому-то еще в будущем =D.

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

Инструменты - > Расширения и обновления - > онлайн - > поиск "NUnit Test Adapter" - > нажмите на "NUnit Test Adapter" в списке результатов -> нажмите на кнопку Скачать

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

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

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

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

на левой стороне выберите "установлен" -> "все".

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

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

enter image description here

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

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

Если вы используете VS 2017 и .net core Как сказал здесь, вы должны добавить ссылки на тестовое NUnit 3.6.1, для выполнения тестов NUnit3TestAdapter 3.8.0-alpha1 и на тест СДК Майкрософт.Чистая.Тест.СДК 15.0.0.

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

enter image description here

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

enter image description here

С Помощью NUnitTestAdapter.WithFramework гарантирует, что в версиях NUnit и NUnit Adapter мало / нет несоответствий (т. е. "это просто работает")

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

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

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

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

пример:

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!");
    }
}

}

Я решил с помощью этой версии:

NUnit - > 3.2.0

NUnit3TestAdapter -> 3.0.8-ctp-8

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

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

сделано следующее

Расширение Visual Studio > Установка Блока 3.X адаптер для visual studio и все начали работать.

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

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

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

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

Поиск версии 2.x версия и добавить затем перестроить решение.

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

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

Я испытал проблему, упомянутую op

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

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

  • создал тестовый проект,
  • переместил туда тестовые файлы
  • добавлены ссылки, чтобы тестовый проект будет составлять
  • добавлен адаптер Nunit и Nunit Пакеты NuGet для тестового проекта
  • перекомпиляции

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

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

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

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

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

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

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

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

  <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#.

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

nuget

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

enter image description here

для VS 2015:

последний тестовый адаптер 3 имеет проблемы и не показывает NUnit testcases. Если у вас есть этот, то удалите его и понизить до версии 2.0.

моя проблема решена путем установки тестового адаптера NUnit 2.

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

Я нашел, что мне нужно установить следующие значения в свойствах проекта : [В окне Обозреватель решений щелкните правой кнопкой мыши проект - > свойства] На вкладке сборка установите Platform=x64 и установите Platform target=x86 или любой процессор Постройте проект и все тесты будут отображаться в Обозревателе тестов окно.

важное примечание: Я пришел к решению после просмотра следующего msg в окне вывода:

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

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

и после многих поисков и усилий, Я обнаружил, что мне нужно установить следующие значения в свойствах проекта : [В окне Обозреватель решений щелкните правой кнопкой мыши проект - > свойства] На вкладке сборка установите Platform=x64 и установите Platform target=x86 или любой процессор Постройте проект и все тесты будут отображаться в Обозревателе тестов окно.

важное примечание: Я пришел к решению после просмотра следующего msg в окне вывода:

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

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

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