python中unittest 单元测试调用没有调用到测试用例,新手求指点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中unittest 单元测试调用没有调用到测试用例,新手求指点相关的知识,希望对你有一定的参考价值。
单独执行test-baidu.py是可以正常执行的,打印print(b)为啥里面是<unittest.suite.TestSuite tests=[]>
没太明白你的意思,按你现在发出来的截图,print(b)确实只能打印<unittest.suite.TestSuitetests=XXXXXXX>,因为按你的代码,变量b接收到的是discover返回的数据,而discover返回的就是TestSuite的一个实例。你是想问test-baidu.py为啥没执行吗?因为没看到你的内部代码,我只能猜测:
① 确定下test-baidu.py中的测试类是否继承了unittest.TestCase,如果没继承,肯定执行不到
② 确定test-baidu.py中类的方法名(你编写的测试用例方法),是否以test开头,不按这个开头,而你的Python源码中也没改的话,不会被加载到测试套件里。
③确定716文件夹中__init__.py中是否包含load_tests方法,如果有,discover也只会加载load_tests中加载的方法。
话说,你的测试类文件名中为啥要用“-”,这个合适吗? 参考技术A TestCase 测试用例,就是功能里那样一条条用例
TestSuite 多个测试用例集合在一起,就是TestSuite,就是一个功能模块的所有用例放这里了
TestLoader是用来加载TestCase到TestSuite中的,这个方法很好玩,可以将一个目录下的所有python文件里的测试用例抠出来
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
以上是关于python中unittest 单元测试调用没有调用到测试用例,新手求指点的主要内容,如果未能解决你的问题,请参考以下文章
Django 2021年最新版教程34python unittest 单元测试 覆盖率检测