将unittest参数化调用添加到测试套中时,报错:TypeError:don’t know how to make test from :None

问题背景

使用@parameterized.expand()参数化代码如下:

套件执行的时候,只加入test_A 执行报错(单独执行test_B可以运行),执行整个模块文件可以成功

报错如下:

问题分析

从上面单独执行test_A和test_B的结果来看,唯一差别应该就是test_A是使用了参数化。结合报错来看,是不知道怎么组成测例。因此直接使用 套件对象.addTest(测试类名('测试方法名'))的方式,应该是少了参数。

通过unittest.defaultTestLoader.discover()方法自动发现添加case,可以执行成功,并且发现记录如下:

发现在带了parameterized装饰器的case的名称后面带着参数相关信息:’test_A_0’,因此将这样的case添加的到testsuite中

问题解决

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享