六、unittest的测试用例运行结果
. 代表成功
F 代表失败
E 代表错误
S 代表用例跳过
不能通过 -v 的方式运行。因为这是详细的报错方式,而不是简洁的报错方式
七、unittest测试用例的执行顺序规则
以ASCII的编码的大小排序。【0-9,A-Z,a-z】
通过ord('a)查看ASCII码
八、多种unittest的加载和运行测试用例的方式
1、mian方法
2、通过测试套件来加载和运行
addTest
# 创建一个测试套件
if __name__ == '__main__':
suite = unittest.TestSuite()
# 通过测试套件加载测试用例
suite.addTest(TestUnittest('test_01'))
suite.addTest(TestUnittest('test_02'))
# 运行 defaultTest 指定套件
unittest.main(defaultTest='suite')
addTests
# 创建一个测试套件
if __name__ == '__main__':
suite = unittest.TestSuite()
# 通过测试套件集合加载测试用例
testcases = [TestUnittest('test_01'),TestUnittest('test_02')]
suite.addTests(testcases)
# 运行 defaultTest 指定套件
unittest.main(defaultTest='suite')
3、加载一个目录下所有的测试用例
if __name__ == '__main__':
suite = unittest.defaultTestLoader.discover('./test', pattern='*.py')
unittest.main(defaultTest='suite')
为什么我们调用unittest.main()就可以执行测试用例???
底层原理,BATJ大厂面试问题
ctrl+鼠标左键进入main()
module:测试用例所在的路径,__main__表示当前路径 defaultTest:默认的待测试的测试用例名称,默认执行所有用例 argv:接受外部传递给程序的参数 testRunner:测试运行器 testLoader:测试加载器 exit:是否在测试完成之后退出程序 verbosity:显示信息的详细程度(<=0只显示用例的总数和全局的执行结果,1默认值,显示用例总数和全局结果,并且对每个用例的结果有个标注即
. 代表成功
F 代表失败
E 代表错误
S 代表用例跳过
>=2 显示用例综述和全局结果,并输出每个用例的详细结果) verbose -v failfast:是否在测试用例失败时终止测试。