Unittest
单元测试框架 --unittest
- 类要继承
unittest.Testcase
- 类中的方法(即用例)必须以test开头
- 使用unittest.main()运行py文件
前置条件和后置条件
- 在类中加setup和teardown----------类方法(每一个用例前后执行)
- 类中在前后只执行一次 -----------装饰器+setupclass
示例:
@classmethod
def setupClass(cls):
print("类前置")
@classmethod
def teardownclass(cls):
print("类后置")
控制用例执行顺序和跳过某些用例执行
- 执行顺序按照用例字母升序执行,如test01—>test02—>test03
- 添加在容器中,按容器中的添加顺序执行
- 跳过,添加@unittest.skip() 或@unittest.skipif(condition,reason)
容器执行示例:
suite=unnitest.TestSuite()
suite.addTest(FirstCase01("testcase01"))
runner=unittest.TextTestRunner()
runner.run()
批量运行testcase
示例:
import unittest
import os
class Runcase(unittest.TestCase):
def test_case01(self):
case_path=os.path.join(os.getcwd(),"case")
unittest.defaultTestLoader.discover(case_path,"unittest_*.py")
unittest.TextTestRunner().run(suite)
断言 assert
举例,常用:
self.assertFalse
self.assertTure
self.assertEqual/assertEquals
self.assertIn