Подтвердить что ты не робот

Nunit - не обнаруживает тестов [no error-message]

Отказ отказывается выполнять dsicover или запускать мои тесты в сборке. Это не тот случай, когда Unit выдает сообщение об ошибке "Невозможно найти тест в сборке". Он просто не обнаруживает, что у меня есть тесты.

Я щелкнул правой кнопкой мыши тестовый метод, и тестовый результат показывает:

Откройте тест для тестирования ------ Открытие теста завершено: 0 найдено (0: 00: 00,0260026) "

Я пробовал все, что упоминалось в этом посте: NUnit не находит тесты в сборке

Модернизация не является возможной. Настройки архитектуры процессора верны. Мои тесты являются общедоступными и имеют все правильные теги.

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

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

namespace UnitTestProjects
{
    [TestFixture]
    public class SomeRandomTests
    {
        [Test]
        public void ShouldFail()
        {
            Assert.AreEqual(1, 0);
        }

        [Test]
        public void ShouldPass()
        {
            Assert.AreEqual(1,1);
        }
    }
}

Я запускаю внутренний визуальный студийный исследователь. Версия Unit Framework версии 2.5.9.10348, версия исполнения v2.0.50727. У меня установлен Unit Test Adopter. Я попытался переустановить его без успеха.

4b9b3361

Ответ 1

Вы должны либо установить расширение NUnit VSAdapter vsix, либо добавить адаптер как пакет nuget в свое решение.

Последняя версия 2.0, и vsix доступен здесь: https://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d

А пакет nuget можно найти здесь: http://www.nuget.org/packages/NUnitTestAdapter/

Дополнительную информацию об этих параметрах можно найти в этом сообщении MSDN ALM http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/11/part-3-unit-testing-with-traits-and-code -coverage-in-visual-studio-2012-using-tfs-build-and-the-new-nuget-adapter-подхода .aspx, который также указывает на два предыдущих сообщения.

Если вы посмотрите в окне консоли вывода в разделе "Тест", имя и версия адаптера будут отображаться там во время работы. Если он не подходит, адаптер не активен.

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

Даже если вы не можете обновить этот проект с NUnit 2.5.9 до последней версии 2.6.4, вы можете проверить правильность работы адаптеров в тестовом проекте с использованием 2.6.4.
Я только что проверил на своей машине с NUnit 2.5.9, и это хорошо работало с адаптером 2.0.

Обновить:

Для VS2017 вы не устанавливаете расширение NUnit VSAdapter vsix, а вместо этого устанавливаете NUnit 3 TestAdapter для Visual Studio 2012 (обновление 1) и далее. Это работает с пакетом NuGet: NUnit 3.9.0.

Обновление 2 - июнь 2019 г. Только что вышла версия 2.2 адаптера NUnit2. Теперь он должен корректно работать с проектами типа SDK, а также с VS 2017 и 2019.

Ответ 2

Шахта как раз то же самое, но разным я создал свой проект как проект VS UnitTest, а не обычную DLL. Таким образом, я создал DLL и ссылался на все сборки nunit, и тест теперь обнаружен.

Надеюсь, что это поможет.

Ответ 3

У меня была такая же проблема при обновлении с Visual Studio 2013 до VS 2017. В моем случае все тесты были написаны для NUnit 2 (не 3) и отлично работали в VS 2013. После того, как VS2017 был установлен, ни один из тестов не мог быть найден.

Проблема заключается в том, что VS2017 автоматически не установил установку NUnit 2 на моей виртуальной машине.

Решение заключалось в том, чтобы установить тестовый бегун Nunit 2, щелкнув меню "Сервис", Инструменты | Расширения и обновления. Затем выберите "Интернет" в правом списке, а затем введите "NUnit" в поле "Поиск". Затем вы можете добавить подходящий тестовый бегун NUnit.

Это, вероятно, относится ко всем тестовым участникам, за исключением, возможно, MSTest.

Ответ 4

В моем случае я использовал атрибут TestCaseSource. И передал неправильное имя источника.

 [Test]
 [TestCaseSource("TestDataCaseSource")]
 public void SomeTest1(string DataName, ITestData testData)

После его исправления все тесты отображаются в Test Explorer

Ответ 5

Проблема может быть с NUnit30Settings.xml. У меня был этот пороблем. В моем случае файл был пуст. Я не знаю, в чем причина. Я скопировал настройки из NUnitSettings.xml в NUnit30Settings.xml. Это решило мою проблему. Файлы с настройками находятся в... Пользователи\[Пользователь]\AppData\Local\NUnit.

Ответ 6

Для моего случая VS2017 после установки Unit Test Adopter 3 я просто добавляю обновленную версию DLL в свое решение с помощью диспетчера пакетов Nuget.

Ответ 7

Я также столкнулся с той же проблемой. Мои тесты не обнаружены. После установки dll NUnit3TestAdapter из диспетчера пакетов nuget моя проблема решена. Моя версия Visual Studio vs2017.

Ответ 8

Несколько вещей, чтобы проверить здесь. 1) Убедитесь, что мы ссылаемся на правильные библиотеки в тестовом проекте. В нашем случае это будет NUnit3testAdapter. 2) Мы должны перезапустить Visual Studio, чтобы наши новые установочные расширения вступили в силу.

Даже после того, как вы все это попробовали, но все равно это не работает. Установите его как часть расширений инструмента и обновите его, а затем установите адаптер NunitTest. это должно определенно работать.