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