dynamic.py
import unittestclass MakeTestCases: testcases = None def make_test_func(self, case=None): def func(*args, **kwargs): self = args[0] self.assertEqual("1", "1") return func def make_test_class(self, *args, **kwargs): # 自动创建测试类,并继承unittest.TestCase return type("TestContact", (unittest.TestCase,), {}) def make(self): # 获取动态类 test_class = self.make_test_class() setattr(test_class, "test_case01", self.make_test_func()) return test_class
main.py
import unittestfrom b.dynamic import MakeTestCasesif __name__ == '__main__': # 构建用例 test_clazz = MakeTestCases().make() test_suite = unittest.TestSuite() # 将用例加载至test_suite内 test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(test_clazz)) # 此方法适合 make()返回列表的方式 # testsuite.addTests(cases) # 创建unittest runner """ verbosity参数用法 0 (quIEt): 只显示执行的用例的总数和全局的执行结果。 1 (default): 默认值,显示执行的用例的总数和全局的执行结果,并对每个用例的执行结果(成功 T 或失败 F)有个标注。 2 (verbose): 显示执行的用例的总数和全局的执行结果,并输出每个用例的详细的执行结果。 """ runner = unittest.TextTestRunner(verbosity=2) # 运行测试 runner.run(test_suite)
总结
以上是内存溢出为你收集整理的python的setattr可以直接给类设置属性!!!!而不是非要是对象全部内容,希望文章能够帮你解决python的setattr可以直接给类设置属性!!!!而不是非要是对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)