it-roy-ru.com

Nunit - не обнаруживает тесты [нет сообщения об ошибке]

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

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

Обнаружен тест для обнаружения ------ Тест для обнаружения завершен: 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. У меня установлен Adopter Unit Test. Я попытался переустановить его безуспешно. 

25
user1531921

Вы должны либо установить расширение 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-покрытие-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.

29
Terje Sandstrøm

Мой похож на тот же, но другой я был создан как проект VS UnitTest, а не как простая DLL. Поэтому я создал DLL и сослался на все сборки nunit, и теперь тест обнаружен.

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

2
jayson.centeno

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

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

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

1
aleha

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

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

Решением было установить тестер Nunit 2, щелкнув меню «Сервис», Инструменты | Расширения и обновления. Затем выберите Online в списке справа и введите «NUnit» в поле поиска. Затем вы можете добавить соответствующий тестовый модуль NUnit.

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

1
Herb F

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

0
Payam Khaninejad

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

0
Main