NUnit Получить результаты не запустить - PullRequest
0 голосов
/ 05 ноября 2019

У меня не работает простой NUnit-код, показанный ниже:

[TestFixture("abc", "xyz", typeof(int))]
    public class GenericTestFixture<T>
    {
        T tt;
        string aa;
        string bb;
        public GenericTestFixture(string a, string b, T t)
        {
            tt = t;
            aa = a;
            bb = b;
        }

        [Test]
        public void Test1()
        {
            Debug.WriteLine($"aa is {aa}, bb is {bb}, t is {typeof(T).ToString()}");
        }


        [TestCase(1)]
        public void TestMethod(int c)
        {
            Assert.Equals(c, 1);
        }
    }

По какой-то причине, после нажатия кнопки запуска в проводнике тестов, я получил сообщение Outcomes with 2 Not Run, а затем поставилостановился внутри конструктора и попытался отладить, но не остановился, как ожидалось. В чем причина и как это исправить? Моя версия NUnit - 3.12.0, а версия NUnit3TestAdapter - 3.15.1

UPDATE1

Я зашел в окно вывода и получил следующее сообщение журнала:

[11/5/2019 8:21:40.468 PM Informational]    Skipping assembly - no matching test cases found
[11/5/2019 8:21:40.743 PM Informational] NUnit Adapter 3.15.1.0: Test execution complete
[11/5/2019 8:21:40.815 PM Warning] No test matches the given testcase filter `FullyQualifiedName=DataDrivenTests.GenericTestFixture.Test1|FullyQualifiedName=DataDrivenTests.GenericTestFixture.TestMethod` in D:\code\NUnit_practice\nunit-csharp-samples\DataDrivenTests\bin\Debug\DataDriven.Tests.dll
[11/5/2019 8:21:42.752 PM Informational] ========== Run finished: 0 tests run (0:00:06.1448651) ==========

1 Ответ

0 голосов
/ 06 ноября 2019

Вам необходимо следовать Универсальным тестовым приборам NUnit doc, например:

[TestFixture(typeof(int), "abc", "xyz")]
public class GenericTestFixture<T>
{
    private readonly string _aa;
    private readonly string _bb;


    public GenericTestFixture(string a, string b)
    {
        _aa = a;
        _bb = b;
    }


    [Test]
    public void Test1()
    {
        Debug.WriteLine($"aa is {_aa}, bb is {_bb}, t is {typeof(T)}");
    }


    [TestCase(1)]
    public void TestMethod(int c)
    {
        Assert.AreEqual(c, 1);
    }
}

Вывод отладки:

debug output

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