Python 的单元测试可以像鼻子一样并行测试吗?

2023-12-30

Python的NOSE测试框架有以下概念并行运行多个测试 https://nose.readthedocs.io/en/latest/plugins/multiprocess.html.

这样做的目的不是为了测试代码中的并发性,而是为了让“没有副作用、没有排序问题、没有外部依赖”的代码的测试运行得更快。性能提升来自于访问不同设备时的并发 I/O 等待、更好地使用多 CPU/内核以及并行运行 time.sleep() 语句。

我相信通过使用插件 Test Runner,使用 Python 的单元测试测试框架可以完成同样的事情。

有没有人有过这样的野兽的经验,他们可以提出任何建议吗?


Python unittest 的内置测试运行程序不会并行运行测试。写一篇这样的文章可能不会太难。我自己编写的只是为了重新格式化输出并为每个测试计时。这大概需要一天 1/2 的时间。我认为您可以替换与使用多进程的派生类一起使用的 TestSuite 类,而不会有太大麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 的单元测试可以像鼻子一样并行测试吗? 的相关文章

  • 按 ListProperty (NDB) 对查询进行排序

    如何按 ListProperty 对查询进行排序 该模型 class Chapter ndb Model title ndb StringProperty required True version ndb IntegerProperty
  • Python中#和"""注释的区别

    开始用 Python 编程 我看到一些带有注释的脚本 and comments 这两种评论方式有什么区别 最好的事情就是阅读PEP 8 Python 代码风格指南 https www python org dev peps pep 0008
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 01 无效令牌[重复]

    这个问题在这里已经有答案了 嘿 学习 python3有一段时间了 遇到字典和dictionary name get 方法并尝试获取随机键值 问题 data data get key 1 它有效并且返回 1 但如果我使用data get ke
  • 代理阻止网络套接字?如何绕行

    我有一个用 Python 编写的正在运行的 websocket 服务器 来自https github com opiate SimpleWebSocketServer https github com opiate SimpleWebSoc
  • Python3模拟用另一个函数替换函数

    如何使用 python 中的另一个函数来模拟一个函数 该函数也将提供一个模拟对象 我有类似以下操作的代码 def foo arg1 arg2 r bar arg1 does interesting things 我想替换的实现bar函数 让
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • Python/Flask:应用程序在关闭后正在运行

    我正在开发一个简单的 Flask Web 应用程序 我使用 Eclipse Pydev 当我开发该应用程序时 由于代码更改 我必须经常重新启动该应用程序 这就是问题所在 当我运行该应用程序时 我可以在本地主机上看到该框架 这很好 但是当我想
  • 检查对象数组中的多个属性匹配

    我有一个对象数组 它们都是相同的对象类型 并且它们有多个属性 有没有办法返回一个较小的对象数组 其中所有属性都与测试用例 字符串匹配 无论该属性类型是什么 使用列表理解all http docs python org 3 library f
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • 将带有两层分隔符的字符串转换为字典 - python

    给定一个字符串 s x t1 ny t2 nz t3 我想转换成字典 sdic x 1 y 2 z 3 我通过这样做让它工作 sdic dict tuple j split t for j in i for i in s split n F
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • 如何从c++调用python

    我是Python新手 我尝试像这样从 C 调用 python 脚本 在 Raspberry Pi 中 std string pythonCommand python Callee py a b int res system pythonCo
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • Synapse Notebook 参考 - 使用参数从另一个笔记本调用 Synapse Notebook

    我有一个带有参数的突触笔记本 我试图从另一个笔记本调用该笔记本 我正在使用 run 命令 我应该如何将参数从基本笔记本传递到正在调用的笔记本 另外 对我来说 上述答案不起作用 作为对此问题的单独解决方案 下面是一个答案 打开笔记本并转到最右
  • 提供节点名或服务名,或未知

    我收到这个 Python 错误 File Library Frameworks Python framework Versions 2 7 lib python2 7 urllib2 py line 1184 in do open rais
  • 如何获取所有Python标准库模块的列表?

    我想要类似的东西sys builtin module names标准库除外 其他不起作用的事情 sys modules 只显示已经加载的模块 sys prefix 包含非标准库模块并且似乎无法在 virtualenv 内工作的路径 我想要这

随机推荐

  • 从 TangoService_connectOnFrameAvailable 保存帧

    如何通过 TangoService connectOnFrameAvailable 保存帧并在我的计算机上正确显示它 作为此参考页 https developers google com project tango apis c struc
  • Angular bootstrap typeahead 不适用于 Angular 1.3.0

    我创建了一个小插件来表明这是行不通的 任何人都可以帮助我如何使用 typeahead 与 1 3 0 angularJS 提供替代解决方案 我们将其与 angular bootstrap 0 11 0 和最新版本的 bootstrap 一起
  • 角度测试在反应式表单上提交事件

    Context 我有一个具有基本形式 反应形式 的组件 我尝试测试此表单上的提交事件 看看它是否正确调用了必要的方法 我的问题 无法触发表单的提交事件 Files 组件 html
  • 如何使用新的 jstree v3.0.0 按需加载子项

    我正在寻找一些帮助在 jstree 中按需 扩展 填充子节点 我可以填充父节点 但无法填充子节点 设想 我正在使用 jstree 来填充树中的节点 我的数据源是json 但是 我从不同的服务获取父节点 从不同的服务获取子节点 我正在使用新的
  • 使用 GPU 加速 MATLAB 代码?

    AccelerEyes 于 2012 年 12 月宣布与 Mathworks 合作开发 GPU 代码 并已停止生产 Jacket for MATLAB http blog accelereyes com blog 2012 12 12 ex
  • 构建maven项目时编译错误

    我们正在尝试从 Jenkins 构建并部署一个 Maven 工件到我们的 Nexus 存储库管理器中 但我们在构建过程中遇到了编译错误 这是我们收到的错误 错误 未能执行目标 org apache maven plugins maven c
  • 如何在 Chrome 上调试 JavaScript

    我有一个奇怪的问题 jquery load 有时在 chrome 上失败 我不会用细节来打扰你们 我只是在寻找如何调试这样的问题的指导者 我想也许 firebug 可以提供帮助 但问题只发生在 chrome 上 甚至适用于 IE 我做类似的
  • 使用 XMLHttpRequest 上传文件

    我正在尝试使用拖放插件 http pascalprecht github com DnD js 在javascript中使用ajax上传文件
  • 从 HTML 表单到 PDF

    有没有一种简单的方法可以在网页上创建 HTML 表单 当用户提交时 将数据放入 PDF 文件并将其发送给接收者 该网页在 net 上运行 Thanks Umbraco http our umbraco org projects websit
  • 如何使用 C# 或 XAML 创建自动动画轮播循环图像?

    我已经在 Web 开发中完成了轮播 但通过 XAML 或 C 在 WPF 中为它们设置动画对我来说是新鲜事 网上有一些例子 但它们要么已经过时 要么不是我想要的 即使当我玩弄其他项目的源代码时 这也不是我所希望的 我想让图像自动从左到右 水
  • Android webview中的无限滚动

    我有一些本地 html 文件 我想用无限滚动方法显示它们 NOTE 我无法更改 html 内容 所以请不要建议向其中添加 javascript 我必须在运行时执行此操作 所以 我发现我可以执行javascript在运行时通过loadUrl
  • 生成的 pdf 中的文本是反向的

    我正在使用 pdfbox 向 pdf 文件添加一行 但我添加的文字是相反的 File file new File filePath PDDocument document PDDocument load file PDPage page d
  • 如何从 Magento-1 价格中删除小数点?

    我在搜索中找到的只是一个编程解决方案 我知道我们可以修改 lib Zend Locale Data en xml 以用于英语商店 en xml中有这部分
  • 我们可以在每个 上方的 table 内添加 div 吗?

    您好 我正在尝试在每个上面添加一个 div tr 但是当我查看 html 控制台时 div 显示在表格之外 下面是html代码 table div tr td td tr div div tr td td tr div table 这是不允
  • 计算方法的执行时间

    可能的重复 如何测量函数运行的时间 https stackoverflow com questions 10107140 how to measure how long is a function running 我有一个 I O 计时方法
  • 如何在Google App Engine灵活环境中运行TensorFlow?

    之前我问为什么GAE在这里找不到TensorFlow libhttps stackoverflow com questions 40241846 why googleappengine gives me importerror no mod
  • Rails 5 处理 ActionController::ParameterMissing 的方法

    如果使用强参数缺少所需的参数 Rails 服务器将使用 HTTP 500 进行响应 这并不能让我控制向用户反馈到底出了什么问题 能够向他们发送缺少所需参数的消息是否没有意义 提供适当用户反馈的 Rails 方式 是什么ActionContr
  • SQLite 中的“如果不存在则插入”语句

    我有一个 SQLite 数据库 我正在尝试插入值 users id lessoninfo id 表中bookmarks 仅当两者之前不连续存在时 INSERT INTO bookmarks users id lessoninfo id VA
  • 如何更改另一个进程的内存空间中的值

    如果你能帮助我解决这个困境 现在 我知道C C 我知道asm 我知道dll注入 我知道虚拟内存寻址 但我就是不知道如何 像 CheatEngine 等软件可以在另一个进程中更改变量的值 对于那些不知道的人来说 第 3 方作弊引擎工具可以扫描
  • Python 的单元测试可以像鼻子一样并行测试吗?

    Python的NOSE测试框架有以下概念并行运行多个测试 https nose readthedocs io en latest plugins multiprocess html 这样做的目的不是为了测试代码中的并发性 而是为了让 没有副