问题标签 [pytest]

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 投票
4 回答
23552 浏览

python - 如何为所有测试调用一次设置并在全部完成后进行拆卸

我有一堆使用 pytest 编写的测试。都在一个目录下dir。例如:

其中代码的简化版本如下:

test_base.py

test_something.py

test_something2.py

我所有的test_something*.py文件都扩展了test_base.py. 现在setup_module(module)teardown_module(module)test_base.py. 我期望 setup_module 为所有测试调用一次,并teardown_module()在所有测试完成后在最后调用。

但是这些函数似乎没有被调用?我需要一些装饰器才能工作吗?

0 投票
2 回答
537 浏览

python - Py.test - 基于会话的设置

我正在尝试围绕 py.test 建立一个很好的基础

我们的一些测试需要某些测试数据才能工作。

今天我们只是指定一个模拟对象作为函数参数并在生成器中进行设置,这显然是不可取的。

以下是它今天的外观示例:

我想做这样的事情:

虽然我还没有弄清楚如何正确地做到这一点。

我不能使用类设置,因为我希望数据在整个会话中保持不变,而不是在每个测试类上设置/拆除。

我的第一个想法是仍然使用 funcargs 但不是让测试有 funcarg 我们让装饰器为函数请求 funcarg ,基本上隐藏了丑陋。

这个问题是我需要一个 py.test 对象来请求一个funcarg。
有什么办法可以得到这样的对象,或者这是错误的方法吗?

如果收集的测试都不需要数据,则不必加载数据将是一个很棒的奖励,这是使用装饰器的缺点,因为无论测试是否运行,它们总是运行。

0 投票
2 回答
2344 浏览

java - 将 JUnit 样式的 XML 测试输出呈现为 HTML

我正在使用能够生成 JUnit 样式 XML 输出的测试框架 ( py.test )以非 Java 语言 (Python) 进行一些单元/集成测试,例如:

现在我想将这些结果呈现为人类可读的 HTML 文件。有什么工具可以做到这一点吗?

0 投票
3 回答
16000 浏览

python - `py.test` 和 `__init__.py` 文件

从某种意义上说,我认为py.test它是“独立的”,它test_*.py“按原样”处理文件,并且只导入这些文件中指定的模块,而不考虑任何周围的文件。看来我错了。这是我的对话py.test

我如何在py.test工作的同时仍然拥有我的__init__.py文件?

更新

在评论中,Holger Krekel 询问父目录的名称是什么。事实证明,我可以重现上面的错误,只有某个父目录名称(例如,与安装的软件包之一相同的名称,如distutils)。看这里:

希望这些额外的信息会有所帮助。

0 投票
4 回答
12460 浏览

python - 如何针对不同版本的 python 运行 py.test?

是否可以在py.test没有插件(如xdist)的情况下使用不同版本的 python 运行tox

0 投票
8 回答
93562 浏览

python - pytest:断言几乎相等

如何assert almost equal使用 py.test 进行浮动而不诉诸于:

更具体地说,了解一个快速比较浮点对的简洁解决方案将很有用,而无需解包它们:

0 投票
3 回答
29850 浏览

python - 成功运行 py.test 后模块“线程”中的 KeyError

我正在使用 py.test 运行一组测试。他们通过。伊皮!但我收到这条消息:

我应该如何去追踪它的来源?(我没有直接使用线程,而是使用 gevent。)

0 投票
2 回答
1115 浏览

python - 在 python 中参数化单元测试

我从事一组目前使用内置于测试框架的 python 构建的 python 单元测试。我想编写参数化测试,这些测试将根据我提供的数据集执行多次。

IE。如果我的数据集是 [1,2,3,4],我的测试函数将使用我的数据集中的输入运行四次。

据我了解,目前在内置框架中这是不可能的,除非我在我的测试函数中放置一个循环。我不想这样做,因为即使一个输入失败,我也需要测试继续执行。

我已经看到可以使用nose 或pyTest。哪个是最好的框架?是否有另一个我可以使用的框架会比其中任何一个更好?

提前致谢!

0 投票
3 回答
13426 浏览

python - 如何使用junitxml在pytest中收集数据结果?

让我们使用以下代码(conftest.py):

运行py.test --junitxml=result.xml conftest.py生成result.xml(当测试通过时):

现在。我想做的是存储 in 生成的test_val()results.xml。有没有办法做到这一点?我似乎在pytest doc中找不到任何相关的内容。

0 投票
2 回答
12185 浏览

python - 运行 py.test 时的 .coveragerc 文件位置

我正在尝试让 pytest 运行以使用 coveragerc 文件。我的 .coveragerc 文件中的设置没有使用,所以我猜该文件根本没有使用。

请参阅下面的项目结构和 pytest 调用!我究竟做错了什么?

项目:

我从 virtualenv 调用 test/run.py

运行.py

我试图将 .coveragerc 移动到不同的目录中,即 lib/、test/、test/test_lib/,但它们都不起作用。

我希望得到一个在 .coveragerc 中设置的名为“xxxcoverage”的覆盖文件,但我总是得到默认的 .coverage

.coveragerc