问题标签 [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 投票
1 回答
1142 浏览

python - py.test 遥控器有问题

我喜欢 py.test 并试图让远程测试执行功能正常工作,这样我就可以在远程机器上运行测试。文档很少,我对此感到沮丧。感谢任何帮助找出我做错了什么。这是我在主服务器上的命令行:

如果我正确阅读了文档,这应该将脚本推送到远程机器并运行它。这是另一边的输出:

0 投票
1 回答
1315 浏览

python - 从 emacs 运行 py.test

如果正在编辑的文件的名称以 test_ 开头,我想要 Cc Cc 运行 py.test 并在另一个缓冲区中显示输出,否则正常运行 py-execute-buffer。我该怎么做?我正在使用带有 python 模式的 emacs 23.1.1,并且可以从命令行访问 py.test。

0 投票
5 回答
5899 浏览

python - 如何在 py.test 中跨测试累积状态

我目前有一个类似于这些的项目和测试。

使用 py.test 0.9.2,这些测试(或类似的)通过了。对于更高版本的 py.test,test_conversion 和 test_a_works_with_b 失败,并显示“TestMyStuff 没有属性 a”。

我猜这是因为在 py.test 的后续版本中,会为每个测试的方法创建一个单独的 TestMyStuff 实例。

编写这些测试的正确方法是什么,以便可以为序列中的每个步骤给出结果,但可以(必须)使用先前(成功)测试的状态来执行后续测试?

0 投票
7 回答
21173 浏览

python - 如何在 Python 中使用`pytest`?

我正在一个最近切换到框架的项目中工作。我习惯于从 Eclipse 调用我的测试,这样我就可以使用调试器(例如,放置断点来分析测试失败是如何发展的)。现在这不再可能,因为运行测试的唯一方法是通过命令行黑盒。pytest unittest

有什么方法可以pytest在 Python 中使用,这样就不会被迫退出 IDE?测试当然不应该在单独的进程中运行。

0 投票
1 回答
1487 浏览

python - 使用 py.test 的项目

我正在寻找使用 py.test 的项目(列表)。

我是测试新手,想使用 py.test。我需要项目中的示例,因此我可以广泛使用 py.test。该文档对 py.test 很有用,但过于分散而无法很好地掌握。我对它的工作原理有一个模糊的概念。我从 pycon 看到了 py.test 视频(3 小时)。但是需要一些项目中的工作示例。

0 投票
5 回答
5672 浏览

python - 如何让 py.test 或鼻子在所有 python 文件中查找测试?

我确实有几个小模块,其中测试在其中,py.test或者nose不查找它们,因为它们test的文件名中不包含它们。

我怎样才能说服py.testnose在所有 python 文件中递归地查找测试 - '''包括文件名中没有的那些test'''?

在源文件中,我确实保留了标准命名约定:class testSomeNamewith methods def test_some_name

如果这是不可能的,我可以使用什么其他解决方案来获得相同的结果。

我不想手动创建包含测试的所有文件的列表,我想要一个支持发现的解决方案。

0 投票
1 回答
161 浏览

python - 可以在 py.test 中使用类似单元测试的装置吗?

我真的很喜欢py.test,但我很难理解如何funcargs工作。

是否可以使用命令行参数或扩展来启用与 和 执行类似角色的unittest.TestCase.setUp功能unittest.TestCase.tearDown

0 投票
1 回答
193 浏览

python - Turbogears2 和 py.test

我正在将我们的测试环境从 Nose 切换到 py.test 以测试 Turbogears2 Web 应用程序。

目前,当 Nose 运行时,它会从包含应用程序所需的所有测试变量的测试配置文件 (test.ini) 中收集信息。它似乎以一种自动的方式这样做(我只是在运行nosetests,一切都被加载了)

问题在于 py.test 无法指向正确的 INI 配置文件,因此我可以让应用程序加载我需要的变量。

目前,失败点是 pylons.app_globals ,它在运行 py.test 时根本不存在(因此一切都失败了)。

我已经阅读了 Turbogears 文档,但他们只提到了 Nose/nosetests 而没有别的。

有没有办法用我依赖的测试变量来引导应用程序 py.test ?

0 投票
3 回答
1439 浏览

c++ - 带有非 python 测试的 py.test(特别是使用 cxxtest)

我与一个开发基于 MPI 的 C++ 数值应用程序的团队合作。该小组使用 cxxtest 来构建单独的单元测试或小套件,但是 1)在具有 cxxtest 的常用功能的目录中聚合有一些复杂性,以及 2)有一些集成测试更容易“从外部”通过启动 mpirun 来实现一个 python 线程。

我们想使用 py.test 作为将它结合在一起的粘合剂,因为它宣称自己能够运行非 python 测试(我可能会被说服跳到鼻子上)。

任何人都可以让我开始执行此操作的最佳实践吗?同样,由于它似乎是 py.test 的广告功能之一,我很乐意按照最初设想的方式进行。

谢谢,

伊莱

0 投票
6 回答
19333 浏览

python - 有没有办法控制 pytest-xdist 如何并行运行测试?

我有以下目录布局:

testsuite*.py 模块的格式如下:

我遇到的问题是我想并行执行“测试套件”,即我希望 testsuite1、testsuite2、testsuite3 和 testsuite4 开始并行执行,但测试套件中的各个测试需要串行执行。

当我使用 py.test 中的“xdist”插件并使用“py.test -n 4”启动测试时,py.test 正在收集所有测试并在 4 个工作人员之间随机负载平衡测试。这导致在“testsuitex.py”模块中每次测试时都要执行“setup_class”方法(这违背了我的目的。我希望每个类只执行一次 setup_class 并在之后连续执行测试)。

基本上我希望执行看起来像:

while worker1, worker2, worker3 and worker4 都是并行执行的。

有没有办法在“pytest-xidst”框架中实现这一点?

我能想到的唯一选择是启动不同的进程以在 runner.py 中单独执行每个测试套件: