问题标签 [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.
python - pytest - 在所有其他测试之后重新运行失败的测试
在我的场景中,我有一个写入文件的测试,以及一个(但可能更多)想要读取该文件的测试。我不能简单地提取将该文件写入函数/夹具,因为它涉及内部正在启动其他二进制文件的一些其他夹具,以及写入该文件的二进制文件。所以我有一个夹具,可以检查文件是否已经存在。
到目前为止我尝试了什么:
- flaky和pytest-rerunfailures插件 - 不适合,因为它们都在失败时立即重新运行测试(当文件仍然不存在时),我想将它附加到测试队列的末尾。
- 手动修改测试队列,如下所示:
...
这种工作,但只有当我在单跑步机上运行时(没有xdist或通过传递 cli arg 打开它-n0
,在我的测试报告中我看到如下内容:
使用 xdist 运行时,不会重复 xfailed 测试。有人知道如何进行吗?强制 xdist 刷新测试列表的某种方式?
python - pytest-xdist 为每个测试生成随机和唯一的端口
我正在使用 pytest-xdist 插件运行一些测试,使用@pytest.mark.parametrize
不同的参数运行相同的测试。
作为这些测试的一部分,我需要打开/关闭 Web 服务器,并且端口是在收集时生成的。
xdist 在从属设备上进行测试收集并且它们没有同步,所以我如何保证端口生成的唯一性。
我可以为每个从站使用相同的端口,但我不知道如何存档。
selenium - Pytest Xdist 并行执行,防止重新创建数据库
我正在尝试通过使用 4 个线程的并行执行 (-n=4) 来加速我的 python Django Web 应用程序中的 Selenium 测试
在前 4 个测试中,3 个给出以下错误:
我知道我必须指定在并行测试执行之前运行一次设置,以防止多次尝试创建数据库,但是我将如何在 pytest xdist 配置中强制执行此操作?
pytest - 如何使用 pytest + xdist 调整线程数?
为了在移动设备上运行并行测试,我使用 pytest + xdist。
我想运行与连接设备一样多的线程,仅此而已。
我将“-n 4”作为命令行参数传递,但如果我需要 2 个线程而不是 4 个线程,我无法在测试启动后更改它。
如何从我的测试代码中调整线程数?
python - 如何修改 pytest 参数?
我发现为此我可以使用 PyTest 函数 pytest_load_initial_conftests()
https://docs.pytest.org/en/latest/example/simple.html#dynamically-adding-command-line-options
但我无法正确实现这个例子(见链接)。
pytest_load_initial_conftests()甚至没有启动(通过调试查看)。测试运行正常,没有任何参数(一个线程),但我期望“-n”参数。
我安装了 pytest 和 xdist。项目中只有两个文件。没有pytest.ini。
我究竟做错了什么?请帮助运行它。
conftest.py
test_t1.py
python - 如果安装了 pytest-xdist,如何通过 pytest -nauto 启用并行性?
要启用并行测试,必须安装pytest-xdist
并使用 pass-nauto
选项pytest
以使用所有可用的 CPU。我想-nauto
默认启用,但仍然是pytest-xdist
可选的。所以这行不通:
如果已安装,有没有办法默认启用 pytest 并行pytest-xdist
性?(如果需要,也应该可以再次禁用它pytest -n0
。)
我想必须写某种conftest.py
钩子?可以检测已安装的插件,但pytest_configure在加载插件后运行,这可能为时已晚。此外,我不确定此时如何添加选项(或如何配置直接操作 xdist)。
python-3.x - 为什么在使用 pytest-xdist 时 pytest_sessionstart 钩子会运行多次?
我试图使用 pytest-xdist 在我的硒网格中并行运行 pytests。在使用 pytest-xdist 之前,我在所有测试甚至开始使用 pytest_sessionstart 钩子之前执行了一次设置。它工作得很好。这将是第一个运行的东西,并且在它完成之前不会开始任何测试。一旦我尝试使用 pytest-xdist,所有会话范围的钩子(如 pytest_sessionstart 和 pytest_sessionfinish)都会被执行多次。我不理解或做错了什么?
python - 没有输出,即使使用 `py.test -s`
我想与Hunterpy.test
结合使用:
不幸的是, Hunter 的输出(跟踪)不可见。
版本:
在更简单(更小)的 virtualenv 中它可以工作(相同的 pytest 版本,但没有插件)。
可能是什么原因?
如何调试这个?
python - Pytest-xdist 适用于 pip 但不适用于 pipenv。没有加载/计划测试
Pytest
当我通过 pip 和 pipenv 安装它时工作。但是,当使用pytest-xdist
带有命令的插件时,例如pytest -n 4
,这仅适用于pip
而不是pipenv
。没有计划或加载任何测试。
这是我当前的 pipfile:
python - 未指定目录时,patch 不适用于 pytest
我对 pytest 和模拟补丁有一个奇怪的问题。
我的 django 应用程序在收到请求时调用货币兑换的 API。
我想在测试时修补它们,但它不起作用。
下面的命令成功。它不会向真实的交换服务器发送任何请求。
但是,下面的命令失败了,因为它将请求发送到真正的 Exchange API 服务器。好像打补丁没用。
项目结构如下所示。
test_views.py
是什么导致了上述差异?
以及如何在这两种情况下使补丁正常工作?
提前致谢。