python - 在运行时使用@unittest.skipIf 跳过测试取决于变量
问题描述
我想跳过特定的测试取决于类中的变量,如下面的代码。
但它会得到“TypeError:'NoneType'类型的参数不可迭代”。
该名称已在其他地方设置。(TestClassA.name = 'xxx')
也许这不是一个好方法,但我不知道如何修改。
请给我一些建议,谢谢。
class TestClassA(unittest.TestCase):
name = None
def test_a(self):
//do something
@unittest.skipIf('xxx' in name, "reason")
def test_b(self):
//do something
解决方案
好吧,您可以通过
class TestClassA:
name = ''
但它很可能不会解决根本问题 - >测试的收集发生在它们执行之前,因此在收集测试之后设置类变量不会导致测试被跳过......
也许您可以name
从某个配置文件中导入模块的范围,而不是在类上设置它?
例如
from someconfig.module import NAME
class TestClassA:
def test_a(self):
//do something
@unittest.skipIf('xxx' in NAME, "reason")
def test_b(self):
//do something
推荐阅读
- java - 如何使用线程在 Java 中发送电子邮件?
- c# - 如何处理视图模型属性的绑定内部数据?
- c++ - 如何使用“OctreePointCloudAdjacency”获取相邻体素列表
- antlr - 如何去除 Antlr 语法中的间接左递归
- java - 如何让 OpenJRe 在我的机器上运行?
- python - Flask-Login 重置 MongoDB 密码 - 查询不起作用
- sql - 在 SQL 中返回默认值
- redhawksdr - 使用 rh.FileReader 播放 wav 文件列表
- android - 屏幕关闭时Android触发jQuerys'beforeunload'
- python - 奇怪的 hist 拟合使用 scipy gamma 和 weibull_min