到目前为止,我只使用了一个过程的鼻子测试,一切正常。
为了确保我的setUp只执行一次,我使用的是布尔变量。
def setUp(self):
if not self.setupOk:
selTest.setupOk = True
# start selenium
# do other stuff which will be needed for all other tests to be able to run
现在我想使用选项--processes = 5
运行nosetests如何确保setUp(self)仅由一个进程执行(而其他进程正在等待)。
我尝试过使用
def setUp(self):
lock = multiprocessing.Lock()
lock.acquire()
if not self.setupOk:
selTest.setupOk = True
# start selenium
# do other stuff which will be needed for all other tests to be able to run
lock.release()
但这似乎不起作用。
答案 0 :(得分:1)
在每次测试运行之前都会调用setUp。如果您希望方法只执行一次,则可以使用setUpClass:
@classmethod
def setUpClass(cls):
print "do stuff which needs to be run once"