我已经知道如何在python的unittest框架中测试特定的类。但是,我在测试特定功能时遇到问题。这是我用来选择我想要测试的类:
if __name__ == '__main__':
test_classes_to_run = [Class1, Class2, Class3]
loader = unittest.TestLoader()
suites_list = []
for test_class in test_classes_to_run:
suite = loader.loadTestsFromTestCase(test_class)
suites_list.append(suite)
big_suite = unittest.TestSuite(suites_list)
runner = unittest.TextTestRunner()
results = runner.run(big_suite)
所以我尝试选择一个特定的功能:
if __name__ == '__main__':
testing_class = Class1
test_classes_to_run = [Class1.function1]
loader = unittest.TestLoader()
suites_list = []
for test_class in test_classes_to_run:
suite = loader.loadTestsFromTestCase(test_class)
suites_list.append(suite)
big_suite = unittest.TestSuite(suites_list)
runner = unittest.TextTestRunner()
results = runner.run(big_suite)
但是我收到以下错误:
TypeError:issubclass()arg 1必须是类
答案 0 :(得分:0)
只需使用
unittest.TestLoader.loadTestsFromName('Path.to.Class1.test_function1')
来自documentation of the unittest module:
例如,如果您的模块SampleTests包含一个 TestCase派生的类SampleTestCase,具有三种测试方法 (test_one(),test_two()和test_three()),说明符 'SampleTests.SampleTestCase'将导致此方法返回套件 它将运行所有三种测试方法。使用说明符 'SampleTests.SampleTestCase.test_two'将导致它返回测试 套件,它将仅运行test_two()测试方法。说明符 可以引用尚未导入的模块和包;他们 将作为副作用导入。