Как исправить: модульные тесты NUnit не отображаются на панели тестирования в сообществе Visual Studio (Mac) - PullRequest
0 голосов
/ 07 февраля 2019

Несмотря на добавление NUnit из NuGet в существующий проект .Net Core, в Test Pad не отображаются никакие модульные тесты.

Примечание. Я разместил эти изображения в виде ссылок, поскольку у меня слишком малорепутация размещать изображения.Что с этим случилось?

  1. Проект> Добавить пакеты NuGet ...
  2. Выбранный пакет NUnit (3.11.0) и нажали «Добавить пакет»"
  3. Проверяется, не добавлено ли решение к решению
  4. Создан новый пустой файл класса в решении
  5. Добавлены тесты для этого класса
  6. В тестовой панели не отображаются тесты

Я попытался перезапустить Visual Studio и переустановить пакет.

У меня также естьпопытался удалить каталог Project / obj - все еще не повезло.

using NUnit.Framework;
namespace ExampleLib
{
    [TestFixture]
    public class ExampleTestFixture
    {
        [Test]
        public void ExampleTest()
        {
            Assert.AreEqual(2, 2);
        }
    }
}

Ожидается: тесты заполняют блок тестов модуля. Факт: пустой тестовый блок.

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

Как комментарии lex-li , вы должны установить версию nuget адаптера (https://www.nuget.org/packages/NUnit3TestAdapter/3.12.0).
). Вы устанавливаете это в свое решение, желательно для всех тестовых проектов.

(Адаптер на рынке - это адаптер vsix, который может быть установлен в самой VS - но эта практика не рекомендуется и, как вы указываете, даже не работает для версии Mac Community.)

0 голосов
/ 18 февраля 2019

Существует несколько требований к этому проекту, поэтому VS для Mac может идентифицировать и выполнять тестовые случаи.

  1. Проект должен быть консольным приложением .NET Core.
  2. Проект должен иметь ссылку Microsoft.NET.Test.Sdk (требуется инфраструктурой VSTest).
  3. Проект должен иметь ссылку NUnit.
  4. Проект должен иметь ссылку NUnit3TestAdapter (требуется инфраструктурой VSTest).

Пример,

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="NUnit" Version="3.11.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
  </ItemGroup>
</Project>

Обратите внимание, что VS для Windows и VS для Mac (и JetBrains Rider) все используют VSTest для модульного тестирования, поэтомуэта настройка работает для всех таких IDE.

Также обратите внимание, что если вы создали не проект консоли из dotnet new nunit, а обычный шаблон консольного приложения, вам необходимо вручную удалить метод Main.

0 голосов
/ 07 февраля 2019

Пакет NuGet позволяет использовать только среду NUnit для написания тестов.Другими словами, это похоже на добавление ссылок на библиотеки DLL NUnit.

Вам необходимо установить адаптер , чтобы увидеть тесты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...