问题标签 [pytest-xdist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
777 浏览

pytest - 在使用 pytest xdist 分发之前运行 conftest

任何人都可以帮助解决以下要求。在为整个模块启动测试套件之前,我必须连接到 VM。我通过为该套件使用 Conftest 获得了成功。但是现在,我想使用 Xdist 插件将测试分发到多个 CPU/内核....当我尝试这样做时,每个进程都运行 conftest 并且我有多个连接的实例。有没有办法在开始分发之前运行 conftest ?或者有没有办法以任何不同的方式实现这一目标?

0 投票
2 回答
1453 浏览

pytest - 有没有办法找出正在运行的 pytest-xdist 网关?

我想为 pytest-xdist 生成的每个子进程/网关创建一个单独的日志文件。有没有一种优雅的方法可以找出 pytest 当前所在的子进程/网关?我正在使用位于中的会话范围固定装置配置我的根记录器conftest.py,如下所示:

如果我可以根据网关编号为日志文件名添加前缀,那就太好了,例如:

如果没有这个,每个网关都将使用相同的日志,并且日志会变得混乱。我知道我可以在文件名中添加时间戳。但这并不能让我快速区分哪个文件来自哪个网关。

0 投票
4 回答
2810 浏览

python - pytest-xdist 安装后 Pytest 无法识别 -n 选项

我已经在工作的 pytest 环境之上安装了 pytest-xdist:

我收到了这个输出

在这一点上,我试图并行运行我的测试套件

但我收到了这个输出

'py.test --version is' 的输出

并且 pytest-xdist 实际上丢失了。

我错了什么?谢谢。

0 投票
2 回答
3018 浏览

python - 为什么 pytest + xdist 不捕获输出?

我正在使用 pytest 和 pytest-xdist 进行并行测试运行。在运行测试时,它似乎不-s支持将标准输出传递到终端的选项。有没有办法做到这一点?我意识到这可能会导致来自不同进程的输出在终端中混乱,但我可以接受。

0 投票
1 回答
788 浏览

pytest - 试图了解参数化测试的 pytest-xdist 失败

我有一些使用 conftest 中定义的夹具的参数化测试。使用 pytest-xdist 但使用标准 pytest 通过时,我的测试失败。夹具创建了一个目录,然后由测试使用,我得到了 IOErrors。

从输出中,看起来两个失败的参数化测试要么被收集和/或被多次运行。请注意,在下面的输出中 test_save_load[obj2] 和 test_save_load[obj0] 失败并且它们出现了两次,所以我假设它们正在运行多次。我可以以不同的方式编写测试以不进行参数化;但很想了解这个问题。任何关于正在发生的事情或 pytest-xdist 如何帮助理解问题的想法将不胜感激。

谢谢!

这是我的输出片段:

0 投票
0 回答
235 浏览

python - pytest-xdist 每个从属运行 1 个测试

我的场景包括一个服务器,它在发生某些事件时通知附加的 websocket。websocket 查询参数指定应通知客户端的事件类型。

我有一组用于通知的预定义事件,以及一组已知预期匹配事件的 websocket URL。

我想获得的是:

  1. 启动通知服务(等待事件流)
  2. 对于每个测试,通过 websocket 附加一个客户端
  3. 启动事件流
  4. 流完成后停止通知服务器(关闭 websocket)
  5. 客户端(测试)在 websocket 闭包上检查接收到的事件是否与预期的匹配

这种情况只有在所有测试同时运行时才有效。出于这个原因,我想到使用“-n”来使用 pytest-xdist。

不幸的是,这似乎不起作用。有 8 个测试我得到的是 4 个测试按我的预期立即运行,但最后 4 个测试仅在第一个测试结束时开始。

如果我正确理解了 pytest-xdist 代码(dession.py:366-368),看起来测试在从属之间被划分为每个至少 2 个测试的块。

显然,这会危及我的设置并解释行为。

有人能想出解决这个问题的方法吗?

0 投票
0 回答
368 浏览

pytest - pytest xdist 和设置钩子执行

我无法pytest_runtest_setup使用 xdist 插件执行我的插件挂钩。它在没有指定 -n 选项的情况下执行,但是一旦我指定该选项,钩子就不会执行。

我的pytest_runtest_makereport总是有效。有任何想法吗?

0 投票
1 回答
1338 浏览

python - 如何在每个 pytest-xdist 进程中运行设置

当我的测试运行器启动时,我想设置一些东西(调整 sys.path,添加一些环境变量,启动一些全局固定装置)。我可以使用什么钩子在生成的每个 xdist 进程中进行这些更改?

我尝试过重载几个普通的 pytest 钩子,但它们是在子进程启动之前运行的。

0 投票
2 回答
531 浏览

python - pytest xdist 测试可以记录到相同的配置吗?

我正在使用带有 xdist 插件的 pytest 来运行大量测试。这些测试可能需要几个小时才能运行,所以我想在它们运行时查看某些信息。我希望看到的项目是测试失败时的错误、还剩下多少测试等等。为此,我希望有一个设置,其中详细错误转到一个文件,而基本信息(例如剩下多少个测试)将转到另一个文件。是否有一个 pytest 插件可以允许这样做,或者有一种方法可以连接内部 pytest 记录器来执行此操作?谢谢你的时间。

0 投票
1 回答
6396 浏览

pytest - 将pytest与xdist一起使用时如何打印输出

我正在使用 py.test 运行测试。我将它与 pytest-xdist 一起使用来并行运行测试。我想在我的测试中查看打印语句的输出。

我有:Ubuntu 15.10、Python 2.7.10、pytest-2.9.1、pluggy-0.3.1。

这是我的测试文件:

当我运行py.test时,没有打印任何内容。这是预期的:默认情况下, py.test 捕获输出。

当我运行py.test -s时,它应该打印test_atest_b

当我运行py.test -s -n2时,又没有打印任何内容。使用-n2时如何使打印语句正常工作?

我已经阅读了 pytest + xdist 没有捕获输出和这个错误报告