Изменить имена тестов для параметризованного NUnit в VS Test Explorer - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь интегрировать параметризованные кросс-браузерные тесты NUnit, используя NUnit.Я хочу, чтобы тесты появлялись в окне Test Explorer, которое я выполнил с помощью NUnit3TestAdaptor, но у меня нет способа дифференцировать различные тесты.Это пример текущих атрибутов TestFixture в моем классе (следующий этот пример):

namespace Demo
{
    [TestFixture("Chrome", "72", "Windows 10", "", "")]
    [TestFixture("safari", "12.0", "iOS", "iPhone 8 Simulator", "portrait")]
    public class UNitTests
    {
        [Test]
        public void NUnitTestOne()
        {
            // Test Stuff
        }

        [Test]
        public void NUnitTestOne()
        {
            // Test Stuff
        }
}

Вот как тесты отображаются в Test Explorer:

-> Demo.UNitTests.NUnitTestOne
       NUnitTestOne
       NUnitTestOne
-> Demo.UNitTests.NUnitTestTwo
       NUnitTestTwo
       NUnitTestTwo

Проблема в том, что у меня нет возможности узнать, какой NUnitTestOne является тестом Chrome против iPhone.Это то, что я предпочел бы видеть в тестовом проводнике (или что-то вроде этого)

-> NUnitTestOne
       Chrome
       iPhone
-> NUnitTestTwo
       Chrome
       iPhone

В идеале, что-то вроде этого было бы идеально:

[TestFixture("Chrome", "72", "Windows 10", "", ""), Name("Chrome")]
[TestFixture("safari", "12.0", "iOS", "iPhone 8 Simulator", "portrait"), Name("iPhone")]

Но я мог бы просто бытьсновидение.Есть ли способ сделать то, что мне нужно?Спасибо!

edit:

При использовании TestName = "Chrome" Test Explorer делает следующее:

   NUnitTestOne
   NUnitTestOne
   NUnitTestTwo
   NUnitTestTwo
-> Demo.UNitTests.NUnitTestOne
       NUnitTestOne
       NUnitTestOne
-> Demo.UNitTests.NUnitTestTwo
       NUnitTestTwo
       NUnitTestTwo

Что ... странно.

отредактируйте еще раз:

Использовали категорию и все заработало!Вот что было в тестовом проводнике:

-> Chrome
       NUnitTestOne
       NUnitTestTwo
-> iPhone
       NUnitTestOne
       NUnitTestTwo

1 Ответ

0 голосов
/ 14 февраля 2019

Вы были близки с Name("Chrome").Вместо этого свойство, которое вы хотите установить в атрибуте TestFixture: TestName:

[TestFixture("Chrome", "72", "Windows 10", "", "", TestName = "Chrome")]
[TestFixture("safari", "12.0", "iOS", "iPhone 8 Simulator", "portrait", TestName = "iPhone")]

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

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