dynamic.py

import unittest

class 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 unittest
from b.dynamic import MakeTestCases if __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可以直接给类设置属性!!!!而不是非要是对象的更多相关文章

  1. python - 装饰器+描述符(给类添加属性且属性类型审核)

    装饰器+描述符 实现给一个类添加属性且对添加的时,对属性进行类型审核: def zsq(**kwargs): def fun(obj): for i,j in kwargs.items(): seta ...

  2. Python基础:面向对象基础 (一) 类及其属性和魔法方法

    定义类,添加和获取对象属性 # 定义类 格式如下 # class 类名: # 方法列表 # 新式类定义形式 # info 是一个实例方法,第一个参数一般是self,表示实例对象本身 class Her ...

  3. 为spring代理类设置属性值

    现在有一个bean包含了私有属性,如下: @Component public class Bean { String name; public String getName() { return na ...

  4. python3 速查参考- python基础 8 -> 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)

    基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self ...

  5. Python的getattr(),setattr(),delattr(),hasattr()及类内建__getattr__应用

    @Python的getattr(),setattr(),delattr(),hasattr() 先转一篇博文,参考.最后再给出一个例子 getattr()函数是Python自省的核心函数,具体使用大体 ...

  6. python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)

    1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...

  7. guxh的python笔记六:类的属性

    1,私有属性 class Foo: def __init__(self, x): self.x = x 类的属性在实例化之后是可以更改的: f = Foo(1) print(f.x) # 1 f.x ...

  8. python 反射 动态导入模块 类attr属性

    1.反射 hasattr getattr delattr setattr 优点:事先定义好接口,接口只有在被完成后才能真正执行,这实现了即插即用,这其实是一种“后期绑定”,即先定义好接口, 然后是再去 ...

  9. 翻译《Writing Idiomatic Python》(五):类、上下文管理器、生成器

    原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic ...

  10. python 内建函数setattr() getattr()

    python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...

随机推荐

  1. mybatis核心配置文件—设置别名typeAliases

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...

  2. k3s 部署应用

    部署k3s 环境 名称 ip地址 cpu 内存 k3s-master 10.65.91.53 4c 8G k3s-node 10.65.91.52 4c 8G master 与 node 节点 # 改 ...

  3. EF特性

    1.EF的 Dbcontext有延迟查询得特性,(用using后就释放了.)在绑定得时候以及失效了.解决办法是toList().toList()是立即查询.但是toList()也有他的问题. 2.释放 ...

  4. 杭电oj 平方和与立方和

    给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和.   Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成.   Output 对于每组输入数据,输出一 ...

  5. 异步按照同步顺序执行的function

    function  step1 (callback) {     console.log(111111)     callback.call() } function  step2 (callback ...

  6. openpyxl-使用API总结

    import openpyxlfrom openpyxl.comments import Comment from openpyxl.styles import Font, Alignment, Bo ...

  7. shell语法1-概论、注释、变量、字符串

    如果感觉有点忘了或者有点懵,敲出来测试测试就好了 一:概论 Linux系统中一般默认使用bash,文件开头需要写#! /bin/bash,指明bash为脚本解释器chmod +x filename:使 ...

  8. linux 第一节(基本命令)

    RPM  红帽软件管理器,(源代码+安装规则打包) YUM  软件仓库yum源,打包了大量的软件. yum repolist all                          //列出所有仓库 ...

  9. bzoj 3561

    题意:求$\sum_{i=1}^{n}\sum_{j=1}^{n}lcm(i,j)^{gcd(i,j)}$ 神仙题... 首先可能会想到一个转化,就是$lcm(i,j)=\frac{ij}{gcd(i ...

  10. python 操作MongoDB pymongo

    python操作MongoDB 1.安装pymongo pip install pymongo 2.连接数据库 启动mongodb服务: 包含mongod.exe文件夹bin :shift+鼠标右键, ...