pytest执行用例:明明只写了5个测试用例, 怎么收集到33个!?

pytest收集测试用例的顺序:

同一个项目中搜索所有以test_开头的测试文件、test_开头的测试类、test_开头的测试函数

执行测试用例的顺序:

是按照先数据(0~9)》再字母(a~z)规则(测试函数都是英文test开头,想要特定指定哪一个,可以test_1,这样方便调试,一般不这样写,哈哈哈)

执行测试用例发现的问题:

两个测试类,写了5个测试函数,按照自己预期想的应该是收集到5个测试用例;结果,一执行,收集到33个,其余的28个从哪里来的??

解决问题步骤:

1、检查最近修改过的前置条件,没问题

2、查看测试报告,发现同一个测试用例执行了超过1次,然后就去这个测试函数下找问题

3、最终定位到是由于【错误的使用pytest的参数化导致将一整个数据,分别分开取了28个数据】

解决方案:

去掉参数化,直接取数据,运行,这次收集到的测试用例数量正确了。

 

总结:

收集到的测试用例,不止与项目中有多少个测试函数有关,同样与一个测试用例需要使用几组测试数据有关;例如:一个登录测试函数,一共3组数组,收集的是测试用例数量是3个

 

posted on 2019-08-26 17:15  刚刚好1  阅读(1322)  评论(0编辑  收藏  举报

导航