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 ...
随机推荐
- spider_ip代理
title: spider_ip代理 author: 杨晓东 permalink: spider_ip代理 date: 2021-10-02 11:27:04 categories: - 投篮 tag ...
- redhat7
systemctl systemctl enable sshd 开机启动某服务 systemctl disable sshd 开机不启动某服务 systemctl is-enabled sshd查看某 ...
- 【C学习笔记】day1-1 打印100~200之间的素数
#include<stdio.h> int sushu(int input) { int m = 0; for (int i = 1; i <= input; i++) { if ( ...
- 小程序toast组件中事件触发条件
微信小程序toast组件是一种消息提示框.例如当文章条数全部加载出来后,用户再次点击加载更多的时候,js判断文章条数全部加载出来后,便让toast组件弹出提示用户"没有更多文章了" ...
- 从Sql Server转战Oracle 之 变量声明
1 --两种声明方法:没有sql所谓的select或者select @para from table 以及 set 赋值,且赋值的时候需要在begin end事务内 2 一 直接声明 3 declar ...
- Qt ui 文件转换为python代码文件
python -m PyQt5.uic.pyuic -o ui_xxx.py xxx.ui
- idea设置svn忽略文件
第一步: 第二步: 第三步:
- formidable处理文件上传的细节
koa在请求体的处理方面依赖于通用插件koa-bodyparser或者koa-body,前者比较小巧,内部使用了co-body库,可以处理一般的x-www-form-urlencoded格式的请求,但 ...
- 手机 termux 开启ssh 并连接
第一步 :下载 termux https://f-droid.org/packages/com.termux/ 第二步 :安装 termux 打开后安装 pkg install openssh ...
- Ignore warnings
import warnings warnings.filterwarnings("ignore")