断言的多样性
self.assertEqual(expected,result)#判断跟期望值是否相等,参数1 为期望值,参数2 为实际值
self.assertTrue() # 断言空跟零为false 非空不为零为True
self.assertIn(result,[0,1,2,3])#判断字符是否在列表中
self.assertIsNone()#判断是否为空值
多个断言------多重判断,都为真才是True,否则为false
setUp
tearDown
使用setUp 可以不用写def __init__值,直接在setup里面 定义即可
可以直接用列表传入多组数据
测试加载用例的三种方式及注意事项:
import unittest
#suit 集合套件 TestSuit 测试套件,存储加载用例
#f表示 失败 .表示用例成功 1 表示发生错误
from testing.testMethod0429 import TestMethod
#方法一:加载用例suite.addTest 逐条加载
suite=unittest.TestSuite()
# suite.addTest(TestMethod('test_add_twozero'))#直接以字符串的形式添加测试类的对象
# suite.addTest(TestMethod('test_add_twofu'))
# suite.addTest(TestMethod('test_add_zhengfu'))
#方法二 批量加载,通过类加载 通过测试类进行加载 批量加载类里面以test开头的测试用例
loder=unittest.TestLoader()#加载用例的
suite.addTest(loder.loadTestsFromTestCase(TestMethod))#直接传测试类名
runner=unittest.TextTestRunner()
runner.run(suite)
#方法三:通过模块批量加载测试用例
#导入模块 方法跟方法二类似
suite.addTest(loder.loadTestsFromModel(此处写模块名))
生成测试报告
HTMLTextRunnerNew .py 源码
HTML Text Runner New.py
生成HTML Text Runner New 测试用例的代码
import unittest
import HtmlTestRunner
import HTMLTestRunnerNew
from testing.testMethod0429 import TestMethod
suite=unittest.TestSuite()
loder=unittest.TestLoader() #加载用例的
suite.addTest(loder.loadTestsFromTestCase(TestMethod))
with open("test_result.html","wb") as file:
runner=unittest.TextTestRunner(stream=file,descriptions=True,verbosity=2)
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file,verbosity=2,title="python",description="cs",tester="alice")
runner.run(suite)