【发布时间】:2015-05-22 13:45:22
【问题描述】:
我正在尝试找到一种方法来使用鼻子在一个类中运行多个测试用例,但我需要这样做,鼻子只创建该类的一个实例。此类将测试网络,网络的设置需要几分钟,因此需要通过该类的一个实例运行所有测试。这是我正在尝试做的一个基本示例:
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
关于如何让鼻子做到这一点的任何想法?
【问题讨论】: