Как запустить тесты NUnit в Visual Studio 2017?


167

Я только что установил VS 2017. У меня есть проект, использующий NUnit для тестовых случаев. Ctrl+ R- Tбольше не запускает тесты, и Test Explorer больше не находит тесты, помеченные атрибутом TestCase.

Есть ли способ запустить NUnit или найти обновление? Я переустановил NUnit из диспетчера пакетов Nuget до последней версии без каких-либо улучшений.


Вот и все. Мне нужно было переустановить NUnitTestAdapter. Можете ли вы представить это как решение?

2
Вы уже установили NUnit, верно? Теперь вам нужно установить NUnit3TestAdapter для запуска тестов NUnit в VS 2017.
Рипон Аль-Васим

Почему это также помечено 2019?
UuDdLrLrSs

Ответы:


207

Добавьте тестовый адаптер NUnit NuGet в свои тестовые проекты

Или установите расширение Visual Studio Test Adapter. Есть один для

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


2
Perfecto !! Работал на моем с VS 2017. Если установлен Test Adapter 2.0, то должно совпадать -> обновить версию пакета Nuget NUnit 2.xx. Если тестовый адаптер 3.0 -> обновить пакет nuget до 3.xx Спасибо @jessehouwing
Ананд Гангадхара,

17
Также убедитесь, что вы ссылались на Microsoft.NET.Test.Sdk , по крайней мере, если вы нацелены на .NET Core. Я упустил из виду, что мне не хватало этой ссылки.
Дэн Ягноу

5
Я застрял с этим довольно долго, так как ни одно из решений не сработало. Затем из этой строки я понял, что библиотека классов с целевым значением «.NET Standard» не работает. Тестовый проект должен быть нацелен на .NET Core. Также Microsoft.NET.Test.Sdkтребуется NuGet.
Arghya C

3
Стоит отметить, что еще одна веская причина для выбора пакета NuGet для тестового адаптера NUnit заключается в том, что вашим коллегам не придется устанавливать какие-либо расширения VS. И ваш сервер сборки также не требует каких-либо дополнительных платежей.
Джим Ахо

1
Я установил оба, но не очевидно, как запустить эти тесты. посмотрел на вид / другие окна, но не смог найти исследовательский модуль nunit
Sonic Soul

37

Вам необходимо установить NUnitTestAdapter. Последняя версия NUnit: 3.xy (3.6.1), и вы должны установить NUnit3TestAdapter вместе с NUnit 3.xy

Чтобы установить NUnit3TestAdapter в Visual Studio 2017, выполните следующие действия:

  1. Щелкните правой кнопкой мыши Project -> щелкните «Управление пакетами Nuget ..» в контекстном меню.
  2. Перейдите на вкладку Обзор и найдите NUnit.
  3. Выберите NUnit3TestAdapter -> нажмите «Установить» справа -> нажмите «OK» во всплывающем окне «Просмотр» введите описание изображения здесь

Вы также можете открыть «Диспетчер пакетов NuGet» из меню «Проект» VS.
Рипон Аль-Васим

26

Этот мне помог: https://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

В принципе:

  • Добавьте библиотеку NUnit 3 в Nuget.
  • Создайте класс, который вы хотите проверить.
  • Создайте отдельный класс тестирования, над ним должно быть [TestFixture].
  • Создайте функцию в классе тестирования, над ней должно быть [Test].
  • Затем перейдите в TEST / WINDOW / TEST EXPLORER (через верх).
  • Нажмите «Выполнить» слева, и он расскажет вам, что прошло, а что не удалось.

Мой пример кода здесь:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace NUnitTesting
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public class Maths
    {
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;   
        }
    }

    [TestFixture]
    public class TestLogging
    {
     [Test]
     public void Add()
        {
            Maths add = new Maths();
            int expectedResult = add.Add(1, 2);
            Assert.That(expectedResult, Is.EqualTo(3));
        }
    }
}

Это вернет true, если вы измените параметр в Is.Equal, он потерпит неудачу и т. Д.


ничего не найдено, когда я делаю test / windows / test explorer
ctrl-alt-delor

Ctrl-alt-delor - это Test / TestExplorer в Visual Studio 2019, возможно, это было небольшое изменение, сделанное Microsoft недавно.
Ли

11

Вам необходимо установить 3 пакета NuGet:

  • Nunit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

Удачи в написании юнит-тестов!


8
  • Вы должны выбрать архитектуру процессора юнит-тестов в VS:
    Test > Test Settings > Default processor architecture

  • Тестовый адаптер должен быть открыт для просмотра тестов: (VisualStudio например:
    Test->Windows->Test Explorer


Дополнительную информацию о том, что происходит, вы можете рассмотреть в «VS-Output-Window», выбрать выпадающий «Show output from» и установить «Tests».


Это очень важный ответ, большое спасибо, исправьте исправленную проблему «Архитектура процессора по умолчанию».
Никита Данилов

1

Используя CLI, создать работающий проект NUnit очень просто. Шаблон делает все для вас.

dotnet new -i NUnit3.DotNetNew.Template
dotnet new nunit

В .NET Core это определенно мой предпочтительный путь.


0

Для запуска или отладки теста в Visual Studio 2017 нам нужно установить «NUnit3TestAdapter». Мы можем установить его в любой VS, но она работает правильно в версии VS для сообщества. Чтобы установить это вы можете добавить через Nuget Package.


0

Для тех, у кого есть проблемы с Visual Studio 2019:

Я должен был сначала открыть Test> Windows> Test Explorer и запустить тесты оттуда, прежде чем опция Run / Debug tests появится в меню правой кнопки мыши.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.