我想跳过特定的测试,具体取决于以下代码中的Class变量。
但是它将得到“ 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
答案 0 :(得分:1)
好吧,您可以通过解决
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