python的setattr可以直接给类设置属性!!!!而不是非要是对象
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可以直接给类设置属性!!!!而不是非要是对象的更多相关文章
- python - 装饰器+描述符(给类添加属性且属性类型审核)
装饰器+描述符 实现给一个类添加属性且对添加的时,对属性进行类型审核: def zsq(**kwargs): def fun(obj): for i,j in kwargs.items(): seta ...
- Python基础:面向对象基础 (一) 类及其属性和魔法方法
定义类,添加和获取对象属性 # 定义类 格式如下 # class 类名: # 方法列表 # 新式类定义形式 # info 是一个实例方法,第一个参数一般是self,表示实例对象本身 class Her ...
- 为spring代理类设置属性值
现在有一个bean包含了私有属性,如下: @Component public class Bean { String name; public String getName() { return na ...
- python3 速查参考- python基础 8 -> 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)
基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self ...
- Python的getattr(),setattr(),delattr(),hasattr()及类内建__getattr__应用
@Python的getattr(),setattr(),delattr(),hasattr() 先转一篇博文,参考.最后再给出一个例子 getattr()函数是Python自省的核心函数,具体使用大体 ...
- python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)
1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...
- guxh的python笔记六:类的属性
1,私有属性 class Foo: def __init__(self, x): self.x = x 类的属性在实例化之后是可以更改的: f = Foo(1) print(f.x) # 1 f.x ...
- python 反射 动态导入模块 类attr属性
1.反射 hasattr getattr delattr setattr 优点:事先定义好接口,接口只有在被完成后才能真正执行,这实现了即插即用,这其实是一种“后期绑定”,即先定义好接口, 然后是再去 ...
- 翻译《Writing Idiomatic Python》(五):类、上下文管理器、生成器
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic ...
- python 内建函数setattr() getattr()
python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...
随机推荐
- VUE学习-生命周期
生命周期 函数 描述 beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用. created 在实例创建完成后被立即 ...
- MongoDB 用户及权限增删
本文主要是MongoDB4.X的操作 一.MongoDB用户创建 MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问. 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限 ...
- CentOS系统 / 目录下每个子目录的作用
Text. 1./bin 该目录存放root和交互式登录用户使用的二进制可执行文件,如cat,cp,date,rm等. 2./boot 该目录主要存放系统启动所需要的相关文件,如何内核文件vmlinu ...
- 12种SQL注入报错方式
1.通过floor报错,注入语句如下: and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from info ...
- labwindows excel 不同电脑上无法保存
存到c盘以外的盘,c盘因为权限问题可能无法写入
- Authentication is required to set the network proxy
在使用VNC访问集群的时候,总是弹出"Authentication is required to set the network proxy used for downloading pac ...
- python学习(day4)
1.selenium库 import selenium #使用selenium跳过登陆 '''selenium pip install selenium ''' from selenium impor ...
- Console对象的实例方法
1.console.table 将数据以表格的形式显示. 这个方法需要一个必须参数 data,data 必须是一个数组或者是一个对象:还可以使用一个可选参数 columns. // Output an ...
- 【jmeter】请求域名解析失败,添加本地代理
jmeter HTTP请求URL中使用域名 http://xxx.xxx.xxx,异常:java.net.UnkownHostException 原因:请求域名没有被解析成功,该http请求没有通过本 ...
- vue表单校验限制输入数字后小数点两位(包括避开通过中文输入法的那些坑)
<el-form-item label="海运运费系数"> <el-input v-model.trim="ruleForm.oceanFreightC ...