1
我想找到一种方法来使用鼻子在类中运行多个测试用例,但我需要这样做,鼻子只创建一个实例类。这个类将测试一个网络,网络的设置需要几分钟的时间,因此需要通过类的一个实例运行所有的测试。这里是什么,我试图做一个简单的例子:鼻子测试类与发电机的多个测试,但只有一个类的实例
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 2015-03-23 03:17:47
已更新,以显示如何获取TestUmbrella类的单个实例。 – Oleksiy 2015-03-24 00:41:17
为什么我没有想到这一点? :)谢谢,这正是我正在寻找的东西。 – user1106281 2015-03-25 13:39:40