import unittest
#模块名,即unittest测试用例的py文件命名,必须以test_开头
#unittest测试用例的执行顺序是根据测试用例的名称的ASCII,不是自上而下执行
# 类名命名必须以Test开头,为驼峰式命名(必须继承unittest.TestCase)
class TestDemo(unittest.TestCase):
@classmethod #类方法
def setUpClass(cls):
print('所有用例执行前执行')
def setUp(self):
print('每个用例执行前都会执行')
#测试用例方法必须以test_开头
def test_1(self):
self.assertTrue(1 == 1)
#self.assertTrue('可写判断表达式') :为unittest断言方式的一种,返回True或False
print('###### 用例1 ######')
def test_2(self):
try:
self.assertTrue(1 == 2)
print('###### 用例2 ######')
except AssertionError as e:
print('程序报错:{}'.format(e))
# raise e
def test_case(self):
print('###### 用例3 ######')
def tearDown(self):
print('每个用例执行后都会执行')
@classmethod # 类方法
def tearDownClass(cls):
print('所有用例执行后执行')
if __name__ == '__main__':
# 使用 python 运行这个模块里面的测试用例
unittest.main()
运行结果:
Launching unittests with arguments python -m unittest test_demo.TestDemo in H:\pythonProject\unittest
所有用例执行前执行
每个用例执行前都会执行
###### 用例1 ######
每个用例执行后都会执行
每个用例执行前都会执行
程序报错:False is not true
每个用例执行后都会执行
每个用例执行前都会执行
###### 用例3 ######
每个用例执行后都会执行
所有用例执行后执行
Ran 3 tests in 0.007s
OK
Process finished with exit code 0
Python学习第七天:简单完整的unittest框架(运行所有用例)
于 2021-12-04 11:23:00 首次发布