python中test_在python中生成py.test测试

先问一下,然后一个解释,如果你有兴趣.

在py.test的上下文中,如何从一小组测试函数模板生成大量测试函数?

就像是:

models = [model1,model2,model3]

data_sets = [data1,data2,data3]

def generate_test_learn_parameter_function(model,data):

def this_test(model,data):

param = model.learn_parameters(data)

assert((param - model.param) < 0.1 )

return this_test

for model,data in zip(models,data_sets):

# how can py.test can see the results of this function?

generate_test_learn_parameter_function(model,data)

说明:

我正在努力进行单元测试.我编写“科学”,因为我编写的代码,我认为在数学上是复杂的,但不是从编程的角度来看,那就是我可能有五个功能要测试.我来自“科学”意味着我是单元测试的新手,但已经说服了我的CS好友,这是“事情要做”.

我编写的代码需要一个模型结构,一些数据,并学习模型的参数.所以我的单元测试包括一堆模型结构和预生成的数据集,然后一组约5台机器学习任务来完成每个结构数据.

所以如果我手工编写这个,我需要每个模型每个任务一个测试.每次我想出一个新的模型,我需要复制和粘贴5个任务,改变我指向的酸洗结构数据.这对我来说感觉就像坏习惯.理想情况下,我想要的是5个模板函数,用于定义我的5个任务,然后只是为我指定的结构列表吐出测试函数.

Googling关于带我到a)工厂或b)关闭,这两个都增加了我的大脑,并建议我必须有一个更简单的方法,因为这个问题必须经常由正规的程序员面对.那有没有

编辑:所以这里是如何解决这个问题!

def pytest_generate_tests(metafunc):

if "model" in metafunc.funcargnames:

models = [model1,model2,model3]

for model in models:

metafunc.addcall(funcargs=dict(model=model))

def test_awesome(model):

assert model == "awesome"

这将对我的型号列表中的每个模型应用test_awesome测试!谢谢@dfichter!

(注意:该断言总是通过,btw)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 中做集成测试的三种方案

学习进步老张的哲学不定期更新的日常在平时的开发中&#xff0c;我们很少会关注到测试的问题&#xff0c;更别说集成测试了&#xff0c;除非是公司有硬性要求或者是自己的开源项目中&#xff0c;为了整体架构的完整性&#xff0c;需要用测试来做辅助点缀&#xff0c;而更多的也…

爱泼斯坦事件发酵,MIT师生发起抗议逼迫校长Rafael Reif辞职

全世界只有3.14 %的人关注了青少年数学之旅爱泼斯坦自杀引发的美国学术界地震持续发酵&#xff0c;其中涉及最深的无疑是MIT。继MIT媒体实验室主任Joi Ito和计算机科学家Richard Stallman先后迫于压力辞职后&#xff0c;现任MIT校长Rafael Reif正面临越来越大的辞职压力。现年6…

小诗

我是天空中的片云&#xff0c;你是彩云中的红霞&#xff0c; 芸芸中相遇&#xff0c;不经然相识&#xff0c; 霞是美丽的&#xff0c;风中带着你的气息&#xff0c; 让我常常大口吸进生活活力&#xff0c;想着&#xff0c;伴着&#xff0c;缠着。一起漂浮在美丽天宇内&#xff…

Oracle索引扫描四大类的分析

学习Oracle时&#xff0c;你可能会遇到Oracle索引扫描问题&#xff0c;这里将介绍Oracle索引扫描问题的解决方法&#xff0c;在这里拿出来和大家分享一下。根据索引的类型与where限制条件的不同&#xff0c;有4种类型的Oracle索引扫描&#xff1a;◆索引唯一扫描(index unique …

java file_java开发之File类详细使用方法介绍

File类简介在 Java 中&#xff0c;File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件&#xff0c;File类主要用来获取或处理与磁盘文件相关的信息&#xff0c;像文件名、 文件路径、访问权限和修改日期等&#xff0c;还可以浏览…

食疗去除头屑的小偏方 不错!

饮食去头屑 除了好产品和生活上的调理&#xff0c;通过饮食也可以控制或治疗头皮屑。蔬菜粥&#xff1a;适用“血虚风燥型”材料&#xff1a;菠菜50克、大米50克。做法&#xff1a;将菠菜洗净&#xff0c;煮去涩味&#xff0c;切段备用。再将白米淘净&#xff0c;放入锅内&…

使用 Blazor 开发内部后台(二):了解 Blazor 组件

James: 转载技术社区中一位朋友最新的文章&#xff0c;介绍自己为公司的 WebForm 遗留系统使用 Blazor 重写前端 UI 的经历。什么是Blazor组件Blazor 应用是使用 Razor 组件构建的。组件是用户界面 (UI) 的自包含部分&#xff0c;具有用于启用动态行为的处理逻辑。组件可以嵌套…

Eclipse/Myeclipse生成serialVersionUID方法

serialVersionUID作用&#xff1a;   序列化时为了保持版本的兼容性&#xff0c;即在版本升级时反序列化仍保持对象的唯一性。 如果你修改代码重新部署后出现序列化错误&#xff0c;可以考虑给相应的类增加serialVersionUID字段。 一般来说有两种生成方式&#xff1a;  …

Framework 1.0/1.1中NotifyIcon的不足

.NET Framework 1.0/1.1中给我们提供了一个NotifyIcon类&#xff0c;使用这个类我们可以非常方便的实现系统托盘(SystemTray)图标。可是不知道微软是为了兼容性还是为了偷懒&#xff0c;只实现了NOTIFYICONDATA结构的v5.0之前版本&#xff0c;也就是说不支持5.0及以后的balloon…

pl/sql 中关于exception的学习笔记

1、异常的优点如果没有异常&#xff0c;在程序中&#xff0c;应当检查每个命令的成功还是失败&#xff0c;如BEGINSELECT ...-- check for ’no data found’ errorSELECT ...-- check for ’no data found’ errorSELECT ...-- check for ’no data found’ error这种实现的方…

一文读懂 .NET 中的高性能队列 Channel

介绍System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能&#xff0c;线程安全等特点&#xff0c;它可以用来做消息队列&#xff0c;进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者&#xff0c;也让Channel更加…

java字符数组初始化_Java 字符串(一)字符串初始化

一、String类概述1、概述java.lang.String类代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。String 是引用数据类型&#xff0c;不是基本数据类型。类String 中包括用于检查各个字符串的方法&#xff0c;比如用于比较字符串&…

一晚啪了5只喵,累到在医院打点滴,这中国喵把英国人看傻了 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅最近&#xff0c;一只叫xiaopi的中国猫在英国红了&#xff01;好多媒体都报道了它…“猫咪一夜连XX 5只母喵后&#xff0c;累到挂点滴”《LADbible》&#xff0c;《Mirror》都可以看到它疲惫的小脸蛋…在《每日邮报》&#xff0c;xiaop…

放假的第二天

嗯...今天是放假的第二天.感觉昨天过了好漫长的一天哦,长得都有好几年了....昨天早上和某军去爬山,蛮惊喜的实话的说,可是快到山顶的时候罗打电话给某军说高二化学(2)要照相,某军却骗她说他正和一男孩儿爬山,男孩儿.....我....纠结.....后来过了好久,我们终于从山上下来了,赶到…

Locations Section of OpenCascade BRep

Locations Section of OpenCascade BRep eryar163.com 摘要Abstract&#xff1a;本文结合OpenCascade的BRep格式描述文档和源程序&#xff0c;对BRep格式进行分析&#xff0c;详细说明BRep的数据组织形式。本文主要通过对BRep文件中的Locations部分的读写代码进行分析&#xff…

2007武汉.NET俱乐部沙龙-VS2008、WPF、Silverlight

即将进入2008年&#xff0c;激动人心的一年。微软也将活跃起来&#xff0c;讨论微软技术发展的最新趋势&#xff0c;产品与解决方案的商业价值&#xff0c;新技术对未来行业的影响&#xff0c;使您以饱满的激情碰撞2008&#xff01;与此同时&#xff0c;微软又带给开发人员什么…

java long to float_为什么Java中long可以自动转换成float

Java中&#xff0c;long型是64位的&#xff0c;float型是32位的。为什么long型可以自动转float型呢?这里就涉及到浮点数在内存中的存储问题了。对于byte&#xff0c;short&#xff0c;int&#xff0c;long四个整数类型而言&#xff0c;它们在内存中无一例外都是直接换算成二进…

C# 枚举(Enum)

在数学和计算机科学理论中&#xff0c;一个集的枚举是列出某些有穷序列集的所有成员的程序&#xff0c;或者是一种特定类型对象的计数。这两种类型经常&#xff08;但不总是&#xff09;重叠。[1] 是一个被命名的整型常数的集合&#xff0c;枚举在日常生活中很常见&#xff0c…

孙悟空都服输!波士顿动力最新逆天机器人视频,翻筋斗连拿大顶!

全世界只有3.14 %的人关注了青少年数学之旅刚刚&#xff0c;波士顿动力公司在YouTube发布了两段真正震撼的新视频&#xff1a;双足人形机器人Atlas展示倒立、360度翻跟头、旋转的跑酷Demo&#xff1a;More Parkour Atlas。四足机器人Spot的商业化广告宣传片&#xff1a;Spot La…

痛并快乐着

看到访问量不断增加&#xff0c;而且访问过的人数已经超过500人&#xff08;注意不是浏览次数&#xff0c;而是不同的人数&#xff09;&#xff0c;真有成就感。与此同时&#xff0c;申请网易联盟再次失败&#xff0c;决定好好写我自己的blog&#xff0c;不再去管他什么狗屁联盟…