我想在具有两个不同测试的同一类中使用两个不同的 setup 和tearDown 方法创建单元测试。
每个测试都将使用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()
在问题中,您提到您有两个测试,每个测试都有自己的设置和拆卸。至少有两条路可走:
您可以嵌入setUp
and 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):
...
第一个选项的类较少、较短且更直接。第二个选项更干净地解耦设置夹具并清理它,然后是测试代码本身。它还为未来添加了更多测试。
您应该根据您的具体情况和个人喜好来权衡权衡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)