Як запустити тести NUnit у Visual Studio 2017?


167

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

Чи є ще спосіб запустити NUnit або я можу знайти оновлення? Я знову встановив NUnit з Nuget Package Manager до останньої версії, не покращуючи.


Це було все. Мені потрібно було перевстановити NUnitTestAdapter. Чи можете ви подати це як рішення?

2
Ви вже встановили NUnit, правда? Тепер вам потрібно встановити NUnit3TestAdapter, щоб запустити тести NUnit у VS 2017.
Ripon Al Wasim

Чому на цьому також позначено 2019 рік?
UuDdLrLrSs

Відповіді:


207

Додайте пакет пакетів NuGet для тестового адаптера NUnit до своїх тестових проектів

Або встановіть розширення візуальної студії Test Adapter. Є один для

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


2
Perfecto !! Працював на шахті з VS 2017. Якщо встановлено Test Adapter 2.0, то він повинен відповідати -> оновити Nuget пакет NUnit 2.xx версії. Якщо Test Adapter 3.0 -> оновіть пакет пакунків до 3.xx Дякую @jessehouwing
Anand

17
Також переконайтеся, що ви посилалися на Microsoft.NET.Test.Sdk , принаймні, якщо ви орієнтуєтесь на .NET Core. Я не помітив, що пропускаю цю посилання.
Dan Jagnow

5
Я тримався з цим досить довго, оскільки жодне з рішень не працювало. Тоді з цього рядка я зрозумів, що бібліотека класів із цільовим ".NET Standard" не працює. Тестовий проект повинен орієнтуватися на .NET Core. Також Microsoft.NET.Test.Sdkнеобхідний NuGet.
Arghya C

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

1
Я встановив обидва, але не очевидно, як запустити ці тести. подивився на Вигляд / інші вікна, але не зможе знайти дослідника тесту нуніта
Sonic Soul

37

Потрібно встановити NUnitTestAdapter. Остання версія NUnit - це 3.xy (3.6.1), і вам слід встановити NUnit3TestAdapter разом з NUnit 3.xy

Щоб встановити NUnit3TestAdapter у Visual Studio 2017, виконайте наступні дії:

  1. Клацніть правою кнопкою миші на Project -> у контекстному меню натисніть "Manage Nuget Packages .."
  2. Перейдіть на вкладку Огляд і знайдіть NUnit
  3. Виберіть NUnit3TestAdapter -> Клацніть Встановити праворуч -> Клацніть ОК у спливаючому вікні Попередній перегляд введіть тут опис зображення

Ви також можете відкрити "NuGet Package Manager" з меню Проект 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 / 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));
        }
    }
}

Це повернеться істинним, якщо ви зміните Параметр на Is.EqualTo вийде з ладу і т.д.


нічого не знайдено, коли я роблю тест / 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
  • Ви повинні вибрати архітектуру процесора Unit-Tests у VS:
    Test > Test Settings > Default processor architecture

  • Тестовий адаптер повинен бути відкритим, щоб побачити тести: (VisualStudio, наприклад:
    Test->Windows->Test Explorer


Додаткову інформацію про те, що відбувається ви можете врахувати у "VS-Output-Window" та вибрати "Спад" вниз "Показати вихід" та встановити "Тести"


Дуже важлива відповідь, велике спасибі, встановлена ​​коректна проблема "Архітектура процесорів за замовчуванням".
Микита Данилов

1

За допомогою CLI створити функціонуючий проект NUnit - це дуже просто. Шаблон робить все для вас.

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

На .NET Core, це, безумовно, мій кращий шлях.


0

Щоб запустити або налагодити тест у візуальній Studio 2017, нам потрібно встановити "NUnit3TestAdapter". Ми можемо встановити його в будь-якому VS, але він працює належним чином у версії VS "community". Щоб встановити це, ви можете додати через Nuget Package.


0

Для всіх, хто має проблеми з Visual Studio 2019:

Спершу мені довелося відкрити Test> Windows> Test Explorer і запустити тести звідти, перш ніж у меню правої кнопки з'явиться можливість запуску / налагодження тестів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.