#python #nose
#python #нос
Вопрос:
Я хочу пометить каждый отдельный тестовый пример аннотациями @SmokeTest
или @LoadTest
@RegressionTest
или @LongRunningTest
.
Можно ли будет классифицировать каждый тестовый пример по одной из следующих категорий, используя Python nose, которые предоставляют аннотации?
- Тест дыма
- Нагрузочный тест
- Регрессия
- Длительный тест Я хочу добавить ярлык к каждому отдельному тестовому варианту, пожалуйста, предоставьте свои предложения. http://pythontesting.net/framework/nose/nose-introduction /
Ответ №1:
Добавьте атрибуты с помощью @attr
. @attr
могут быть установлены и для классов так же, как показано ниже, если вы хотите запустить весь класс
См.: http://nose.readthedocs.org/en/latest/plugins/attrib.html
from nose.plugins.attrib import attr
@attr('smoke')
def test_awesome_1():
# your test...
@attr('load')
def test_awesome_2():
# your test...
@attr('regression')
def test_awesome_3():
# your test...
@attr('regression')
def test_awesome_4():
# your test...
а затем запустите его как
nosetests -a 'smoke' #Runs test_awesome_1 only
nosetests -a 'load' #Runs test_awesome_2 only
nosetests -a 'regression' #Runs test_awesome_3 and test_awesome_4
Ответ №2:
Трудно точно сказать, о чем вы спрашиваете, но похоже, что вы, возможно, ищете встроенный плагин nose
Attrib, который позволяет устанавливать атрибуты для тестов (и выбирать группы тестов на основе атрибутов).
Ответ №3:
Добавьте атрибуты, используемые @attr
для обозначения тестовых примеров, а также классов с аннотациями:
from nose.plugins.attrib import attr
@attr(priority='first')
def test_support_1():
#test details...
@attr(priority='second')
def test_support_2():
#test details...
Запустите его как:
nosetests -a priority=first
nosetests -a priority=second
В Python 2.6 и выше, @attr
могут быть установлены для классов, как показано ниже:
@attr(priority='sanity')
class MyTestCase:
def test_support_1(self):
pass
def test_support_2(self):
pass
Запустите его как:
nosetests -a priority=sanity