Я пытаюсь найти способ использовать нос для запуска нескольких тестовых примеров в классе, но мне нужно сделать это, когда нос только создает один экземпляр этого класс. Этот класс проверит сеть, и настройка сети займет несколько минут, поэтому необходимо выполнить все тесты через один экземпляр класса. Вот простой пример того, что я пытаюсь сделать:класс тестирования носа с генератором для нескольких тестов, но только один экземпляр класса
class TestUmbrella(object):
def __init__(self):
log.info('__init__ called')
def run_A(self):
log.info('Test A is running')
def run_B(self):
log.info('Test B is running')
def run_C(self):
log.info('Test C is running')
def run_test(self):
for x in (self.run_A, self.run_B, self.run_C):
yield x
Это дает:
2015-03-19 12:22:31,330: INFO: tests.l3.FooTest2: __init__ called
2015-03-19 12:22:31,331: INFO: tests.l3.FooTest2: __init__ called
2015-03-19 12:22:31,331: INFO: tests.l3.FooTest2: Test A is running
.2015-03-19 12:22:31,331: INFO: tests.l3.FooTest2: __init__ called
2015-03-19 12:22:31,332: INFO: tests.l3.FooTest2: Test B is running
.2015-03-19 12:22:31,332: INFO: tests.l3.FooTest2: __init__ called
2015-03-19 12:22:31,332: INFO: tests.l3.FooTest2: Test C is running
.
----------------------------------------------------------------------
Ran 3 tests in 0.002s
OK
То, что я хотел бы видеть это:
2015-03-19 12:22:31,330: INFO: tests.l3.FooTest2: __init__ called
2015-03-19 12:22:31,331: INFO: tests.l3.FooTest2: Test A is running
2015-03-19 12:22:31,332: INFO: tests.l3.FooTest2: Test B is running
2015-03-19 12:22:31,332: INFO: tests.l3.FooTest2: Test C is running
Любые идеи о том, как получить нос, чтобы сделать это?
С обоими этими подходами нос все еще создает три экземпляра TestUmbrella. Я пытаюсь найти способ, чтобы нос запускал три тестовых примера, но из одного экземпляра TestUmbrella. – user1106281
, чтобы показать, как получить один экземпляр класса TestUmbrella. – Oleksiy
Теперь, почему я не подумал об этом? :) Спасибо, это именно то, что я искал. – user1106281