pytest插件并发运行测试,每个“yield”将上下文切换到另一个

pytest-yield的Python项目详细描述


tests
Drone-CI Build Status
package
PyPI Package latest releaseSupported versionsSupported implementations

什么?

pytest_yield是一个允许将测试作为协同程序运行的插件。这个 意味着一些测试可以同时执行。

为什么?

这是工程师们提出的第一个问题。一般理论说我们 每个测试都必须单独运行,这意味着 对其他测试没有任何影响。这个插件在 全部。

为什么我们需要它?

假设我们有集成测试,每个测试执行需要 长时间。例如,测试应该等待一些反应取决于 初步行动。这种等待可能需要1个小时。甚至 之后,我们需要执行场景中的下一个操作并等待更多。 所有测试的同步执行,一个接一个,将需要大量的 时间。但是如果所有的测试用例都是独立的,那么test1 不影响test2的结果。也不知道怎么跳 等待进程test1并将执行上下文切换到test2。这个 实际上,pytest_产生的结果是在做什么。

怎么做?

假设每个并发测试都是一个生成器。切换 执行上下文在每个yield之后执行。测试添加到 如果生成器还没有被检验,则deeue的结束。新的之后 从出列的左侧拉出。假设测试有N个结果,那么 将重新安排N次。

image2

不要与

一起使用

相互依赖的测试。大多数 特别的例子是带有mock的unittests,如果test1模拟某个方法, 这也将在test2中隐式模拟。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修复尝试将用户签名到服务器主机时出现的“字符串无法转换为json对象”错误?   控制台Java:不使用新行更新命令行中的文本   java servlet接收xml数据时,出现错误   使用REST API在Bitbucket中复制或复制存储库   java如何在JavaFX中对齐一行?   java如何在活动中显示通过服务获得的数据?   返回BigDecimal作为字符串:返回int   java组织。openqa。硒。InvalidSelectorException:尝试查找元素时选择器无效   java仅在阻塞状态下通知和通知所有影响线程   java JBOSS无法启动部署   java方法的返回值能保证类型安全吗?   JavaeShadoop序列化组织。阿帕奇。hadoop。木卫一。短写失败   java如果我在同一个类上同步了两个方法,它们能同时运行吗?   不使用java数据库的spring分页实现   java如何将字符串切碎成这样的数组?