2013-10-09 6 views
1

У меня есть следующее (с использованием NUnit):Как условно запустить тест?

[TestFixture] 
    public class SmokeTest : BaseTest 
    { 
     [Test(SmokeTest)] 
     public void ShouldAlwaysRun() 
     { 
      //Tests,Assertions,etc 
     } 

     [Test] 
     public void ShouldNotRunIfSmoke() 
     { 
      //Tests,Assertions,etc 
     } 

    } 

У меня есть TestFixture за функциональную область моего проекта. Я хотел бы иметь возможность запускать «тест дыма», который запускает только те тесты, которые отмечены как «SmokeTest» (возможно, через атрибут). Первоначально у меня были тесты на дым в их собственном файле, но он буквально копировал и вставлял другие тесты в этот файл - я хотел бы сохранить вещи DRYer.

Конечной целью является то, что я могу как-то определить, когда я бегу испытания дыма, так что:

  • Если я бегу испытания дыма, запустить только те, которые помечены как таковые
  • Если я не проходят тесты на дым, проведите все испытания, в том числе дымовые испытания

Как это можно достичь с помощью NUnit?

EDIT: Я только что нашел Категории:

http://www.nunit.org/index.php?p=category&r=2.2.10

Это было бы здорово - но как указать, из Test Explorer, или построить Configs когда запускать только определенную категорию? Я оставлю вопрос, поскольку он стоит, если есть лучший способ.

ответ

0

Право yoiu есть. Категории - это именно то, что вам нужно.

Эта функция доступна с использованием аргументов/include и/exclude для консольного бегуна и отдельной вкладкой «Категории» в gui.

Таким образом, вы можете включить только одну категорию как в GUI NUnit test runner & консольный тестовый бегун. Другие категории (и тесты без таблиц) будут отключены.

Не уверен, что тестировщик Visual Studio Explorer (предположим, что вы имеете в виду VS) поддерживает NUnit-категоризацию.
Но вы определенно можете указать параметр /include MyCategory в конфигурации сборки, чтобы запускать только подмножество всех тестов.

0

При использовании ReSharpers Testrunner появляется раскрывающееся меню «Параметры», в котором вы можете группировать свои тесты по категориям. Resharper TestRunner - Group by: Categories

Смежные вопросы