# -*- coding: UTF-8 -*-
import unittest
class UserTestCase(unittest.TestCase):
def setUp(self):
print(" set up 开始")
def tearDown(self):
print("tearDown 执⾏结束")
def testCase1(self):
print("test case1")
def testCase2(self):
print("test case2")
if __name__ == '__main__':
unittest.main()
执行结果如下图:
断⾔(⽀持⾃定义报错信息) self.assertEqual() 查看源码 ⽂档: https://docs.python.org/zh-cn/3/library/unittest.html#unittest.TestCase.debug 注意: 1 、所有类中⽅法的⼊参为 self ,定义⽅法的变量也 要 “self. 变量 2 、定义测试⽤例,以 “test” 开头命名的⽅法,⽅法的⼊参 为 self 3 、 unittest.main() ⽅法会搜索该模块下所有以 test 开 头的测试⽤例⽅法,并⾃动执⾏它们 4 、⾃⼰写的 py ⽂件不能⽤ unittest.py 命名,不然会找 不到 TestCase 5 、⽤例成功是输出 . 失败是 F unittest单元测试 setUp 和 tearDown 每次⽤例执⾏前都会执⾏初始化条件 和结束条件 ``` 1 、所有类中⽅法的⼊参为 self ,定义⽅法的变量也 要 “self. 变量 2 、定义测试⽤例,以 “test” 开头命名的⽅法,⽅法的⼊参 为 self 3 、 unittest.main() ⽅法会搜索该模块下所有以 test 开 头的测试⽤例⽅法,并⾃动执⾏它们 4 、⾃⼰写的 py ⽂件不能⽤ unittest.py 命名,不然会找 不到 TestCase 5 、⽤例成功是输出 . 失败是 F ``` 执⾏所有⽤例只运⾏⼀次初始化和清理条件,⽤setupclass 、 teardownclass @classmethod def setUpClass(cls): print(" 在所有的测试⽤例执⾏之前,只执⾏⼀次 ============") @classmethod def tearDownClass(cls): print(" 在所有的测试⽤例执⾏之后,只执⾏⼀次 ============") 示例:
# -*- coding: UTF-8 -*-
import unittest
class UserTestCase2(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("setUpClass初始化")
@classmethod
def tearDownClass(cls):
print("tearDownClass 资源清理")
def testCase1(self):
print("test case1")
def testCase2(self):
print("test case2")
self.assertEqual(1, 1)
@unittest.skip("跳过这个")
def testCase3(self):
print("test case3")
self.assertEqual(1, 1)
if __name__ == '__main__':
# verbosity 默认是1,为0的话最简洁,不输出每个⽤例执⾏结果,2 输出⽤例的详细执⾏结果
unittest.main(verbosity=2)
结果如下:



