如何运行模块和类名作为变量的测试套件?

时间:2018-04-17 22:56:16

标签: python python-unittest

我想知道是否可以像这样运行测试套件:

suite1 = suite_loader.loadTestsFromTestCase(test_gtm_{}.{}TagManager)
suite2 = suite_loader.loadTestsFromTestCase(test_links_{}.{}Links)

因此,具体测试将根据用户输入运行。

有可能吗?

1 个答案:

答案 0 :(得分:0)

解决方案通常在python中以字符串/变量运行函数/测试。

回答 - Calling a function of a module by using its name (a string)

from foo import bar

module = __import__('foo')
file = getattr(module, 'test_{}'.format(some_var))
run = getattr(file, '{}'.format(some_other_var))

然后这将有效:

suite1 = suite_loader.loadTestsFromTestCase(run)