Запуск TestFixtures в определенном порядке с помощью бегуна NUnit-Console - PullRequest
0 голосов
/ 07 февраля 2020

Мы используем NUnit для реализации GUI тестов. У нас есть несколько TestFixtures (Test Suite), ориентированных на набор функций приложения. Наборы тестов имеют разные приоритеты выполнения (например, набор A необходимо проверить перед запуском набора B, поскольку набор B использует функциональные возможности из набора A).

Мой вопрос: Есть ли способ запустить наборы тестов в указанном порядке с помощью NUnit-Console?

Я пробовал передавать параметр / тест для каждого теста набора, параметры были переданы в порядке приоритета выполнения набора тестов, но он не работал, как я ожидал, наборы тестов не были выполнены в требуемом порядке.

Строка была примерно такой: «[путь запуска консоли nunit]» / test Tests.TestSuiteWithPriority01 / test Tests.TestSuiteWithPriority02 tests.dll

1 Ответ

0 голосов
/ 08 февраля 2020

Параметр командной строки --test используется для создания фильтра , который определяет, какие тесты запускаются. Это не влияет на порядок - никакие параметры командной строки не имеют отношения к порядку. NUnit применяет созданный фильтр к тестам по мере их проверки, решая один тест за раз, следует ли его выполнять.

Ни порядок опций, ни порядок, в котором NUnit проверяет тесты, не имеют никакого отношения к порядок, в котором они выполняются. Порядок выполнения определяется следующим образом:

  1. Любое OrderAttributes, которое вы используете в своих тестах.
  2. Если такие атрибуты не используются, порядок не указывается. (*)

Вы можете указать [Order(n)] для любого прибора или метода. Элементы с OrderAttribute выполняются первыми, начиная с самого низкого значения n. Если вы выполняете тесты параллельно, порядок не гарантирует, что следующие тесты не начнутся во время выполнения первого теста. Вы должны убедиться, что вы не запускаете такие тесты параллельно.

См. Также документы: https://github.com/nunit/docs/wiki/Order-Attribute

* Примечание: некоторые люди используют алфавитный порядок тестов. Некоторые версии NUnit в некоторых средах используют этот порядок. Это не гарантируется NUnit, поэтому не стоит полагаться на него.

...