我想用同一个类中的两个不同的设置和tearDown方法创建unittest测试,并进行两次不同的测试。
每个测试都将在python unittest框架中使用其特定的setUp和tearDown方法。
任何人都可以帮助我。
class processtestCase(unittest.TestCase):
print "start the process test cases "
def setUp1(self):
unittest.TestCase.setUp(self)
def test_test1(self):
"test Functinality"
def tearDown1(self):
unittest.TestCase.tearDown(self)
def setUp2(self):
unittest.TestCase.setUp2(self)
def test_test2(self):
"test Functinality"
def tearDown2(self):
unittest.TestCase.tearDown2(self) '
if __name__ == '__main__':
unittest.main()
答案 0 :(得分:0)
在这个问题中,你提到你有两个测试,每个测试都有自己的设置和拆卸。至少有两种方法:
您可以将tearDown
和class FooTest(unittest.TestCase):
def test_0(self):
... # 1st setUp() code
try:
... # 1st test code
except:
... # 1st tearDown() code
raise
def test_1(self):
... # 2nd setUp() code
try:
... # 2nd test code
except:
... # 2nd tearDown() code
raise
代码嵌入到每个测试中:
class FooTest0(unittest.TestCase):
@classmethod
def setUp(cls):
...
@classmethod
def tearDown(cls):
...
def test(self):
...
或者,您可以将类拆分为两个类:
column1
第一个选项有更少的课程,更短,更直接。第二个选项更干净地分离设置夹具,清理它,然后测试代码本身。这也是未来的证据,增加了更多的测试。
您应该根据您的具体情况和个人偏好判断权衡。