Test fixture分三类
- setUp/tearDown
- setUpClass/tearDownClass
- setUpModule/tearDownModule
setUp/tearDown
函数级,分别在函数的开始和结束进行。单个测试用例
```python用例级别(函数)的测试案例
import unittest
class MyClass(unittest.TestCase):
def setUp(self):
print("====> start class")
def tearDown(self):
print("===> end class")
def test_case(self):
print("---->test case")
if name == ‘main‘: unittest.main()
<br />可以看到各个函数执行的先后顺序。
- [x] setUp
- [x] test_
- [x] tearDown
<a name="aMwdJ"></a>
## 多个测试用例1
```python
# 全正确的用例
import unittest
class MyClass(unittest.TestCase):
def setUp(self):
print("====> start class")
def tearDown(self):
print("===> end class")
def test_case2(self):
print("---->test case2")
self.assertEqual(4, 4)
def test_case(self):
print("---->test case")
if __name__ == '__main__':
unittest.main()
多个测试用例2
# 有错误的用例
import unittest
class MyClass(unittest.TestCase):
def setUp(self):
print("====> start class")
def tearDown(self):
print("===> end class")
def test_case2(self):
print("---->test case2")
self.assertEqual(3, 4)
def test_case(self):
print("---->test case")
if __name__ == '__main__':
unittest.main()
setUpClass/tearDownClass
类级别,分别在类的开始和结束执行。
import unittest
class MyClass(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("====> start class")
@classmethod
def tearDownClass(cls):
print("===> end class")
def setUp(self):
print("start test")
def tearDown(self):
print("end test")
def test_case(self):
print("---->test case")
self.assertEqual(2 + 2, 4)
def test_case2(self):
print("---->test case2")
self.assertEqual(4, 4)
if __name__ == '__main__':
unittest.main()
setUpModule/tearDownModule
文件级别,分别在文件的开始和结束执行。
import unittest
def setUpModule():
print(">>>>>>>>>>>>>> start module")
def tearDownModule():
print(">>>>>>>>>>>>>> start module")
class MyClass(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("====> start class")
@classmethod
def tearDownClass(cls):
print("===> end class")
def setUp(self):
print("start test")
def tearDown(self):
print("end test")
def test_case(self):
print("---->test case")
self.assertEqual(2 + 2, 4)
def test_case2(self):
print("---->test case2")
self.assertEqual(4, 4)
if __name__ == '__main__':
unittest.main()