Unittest测试框架的基本操作
姑且这个work文档就是开发给的测试软件,它含有加减乘除法,这个文件我们是不能动,如图:
所以我们需要新建一个文件夹,用来写unittest框架:
接下来,我们写框架,一个类class继承 unittest.TestCase,就是一个测试用例。:
unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner
setUp():准备环境,执行每个测试用例的前置条件;
tearDown():环境还原,执行每个测试用例的后置条件;
setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;
断言:
assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。
assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。
assertTrue(x):断言x是否True,是True则测试用例通过。
assertFalse(x):断言x是否False,是False则测试用例通过。
assertIs(a,b):断言a是否是b,是则测试用例通过。
assertNotIs(a,b):断言a是否是b,不是则测试用例通过。
assertIsNone(x):断言x是否None,是None则测试用例通过。
assertIsNotNone(x):断言x是否None,不是None则测试用例通过。
assertIn(a,b):断言a是否在b中,在b中则测试用例通过。
assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。
assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。
assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。
如果想跳过某个测试用例,@unittest.skip(‘描述信息’)
TestSuite :测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例。
方式一:
suite = unittest.TestSuite()#创建测试套件
case_list = [“test1”,”test2”….]
For case in case_list:
suite.addTest(类名(case))
方式二
suite = unittest.TestSuite()#创建测试套件
suite.addTest(类名 (“test1“))
suite.addTest(类名 (“test2“))
方式三:(添加一个测试用例类 )
suite = unittest.TestSuite()#创建测试套件
loader = unittest.TestLoader()# 创建一个加载对象 suite .addTest(loader.loadTestsFromTestCase(类名))
注意,这个也是需要重新建一个文件夹,然后导包:
在这里插入图片描述
现在,我们可以用一个第三方插件,写出测试报告。首先,我们要再新建一个文件夹,并将点三方插件复制粘贴进去,如图:
读取xml文件数据
我们为了实现代码分离,在建一个文件夹
在这里插入图片描述