2009-03-30 4 views

ответ

-6

Просто не применяйте атрибут TextFixture к классу.

+18

не применяя атрибут вы игнорируя тот факт, что существуют методы испытаний этого класса, которые не являются проверяется по какой-то причине. Вы должны использовать [TestFixture, Ignore («reason»)], чтобы предоставить результат результатов тестирования по той причине, что они игнорируются. Удаление/удаление его полностью запутывает причину, когда, вероятно, имеет смысл передать это другим разработчикам. –

+2

+1 @ Крис ... Игнорировать атрибут передаёт цель гораздо более четко. – karlgrz

+0

Это неверно, как и в случае с NUnit 2.5, атрибут TestFixture не является обязательным в большинстве случаев - http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder

0

Извлечение атрибута [TestFixture] из класса, похоже, будет работать.

Редактировать: Этот ответ стал ошибочным, начиная с NUnit 2.5, когда атрибут [TestFixture] стал необязательным для непараметрированных не общих устройств. См. here для получения дополнительной информации.

1

Вы можете сделать целое TestFixture "по запросу", используя атрибут [Explicit]. Тогда он там, когда вы этого хотите, но только когда вы явно нажмете на него.

8

Как и было предложено, атрибут [Explicit] работает хорошо. Вы также можете просто поместить атрибут [Ignore()] под атрибутом [TestFixture], как показано в документации:

http://www.nunit.org/index.php?p=ignore&r=2.5

Используйте [Ignore()], если вы хотите, чтобы тест будет помечен как игнорируется (и, следовательно, вы получите желтый бар, если все другие испытания проходят). Используйте [Explicit], если вы хотите, чтобы тест полностью обесценился (и, следовательно, вы получите зеленую полосу, если пройдут все остальные тесты).

59
[TestFixture, Ignore("reason")] 
public class YourTestFixture { } 

Или, если вы предпочитаете, чтобы разрушить ваши атрибуты к одному в каждой строке:

[TestFixture] 
[Ignore("reason")] 
public class YourTestFixture { } 
+1

@leora, это ПРАВИЛЬНЫЙ ответ ... должен быть принятым. –

+2

Это лучший ответ. Принятый в настоящее время ответ технически также прав, но оставляет вас в состоянии иметь мертвый код, о котором вы не знаете (причина в комментариях к этому ответу). С более новыми версиями NUnit 2.5+ принятый ответ на самом деле неверен, поскольку атрибут TestFixture является необязательным. См. Http://www.nunit.org/index.php?p=testFixture&r=2.5. – ferventcoder

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