我写了如下代码:
#base.py
import sys
import unittest
class BaseClass(unittest.TestCase):
def setUp():
print"in base script"
def tearDown():
print"in teardown"
这是测试脚本:
#test.py
import sys
import unittest
from base import *
class demo_script(BaseClass):
def setUp(self):
self.flag = False
self.abc = None
super(demo_script, self).setUp()
def test_before(self):
self.abc = 5
## reboot occurs here and system context is saved
def test_after(self):
if self.abc == 5:
print"Pass"
else:
print"fail"
def tearDown(self):
print"clean"
测试失败,因为它无法访问变量self.abc。 如何在两个测试中访问局部变量,即test_before()和test_after()?
答案 0 :(得分:0)
Nose等测试跑步者不能确保测试方法的运行顺序。因此,如果您在self.abc
中设置test_before
,则不确定在test_after
之后运行test_before
。
无论如何,在setUp
中定义的测试方法之间共享状态是一个坏主意 - 应该隔离测试。
所以将测试方法合并为一个。