如何使用Python中的py.test?

2024-04-25 00:52:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个项目中工作,这个项目最近切换到了py.testunittest框架。我被用来从Eclipse调用我的测试,这样我就可以使用调试器(例如,放置断点来分析测试失败是如何发展的)。现在这已经不可能了,因为运行测试的唯一方法是通过命令行blackbox。

有没有办法在Python中使用py.test,这样就不会被迫退出IDE?当然,测试不应该在单独的进程中运行。


Tags: 项目方法命令行pytest框架进程ide
3条回答

似乎现在(py.test版本2.0+)有人也可以这样做:

import pytest

pytest.main('-x {0}'.format(argument))

# Or
# pytest.main(['-x', 'argument'])

参考号:https://pytest.org/latest/usage.html#calling-pytest-from-python-code

pytest现在支持这一点,并在文档中很好地描述了here

我想我现在可以回答我自己的问题了,很简单:

import py
py.test.cmdline.main(args)

然后我可以运行这个模块,或者使用集成调试器启动它。

args是命令行参数的列表,例如,要仅运行特定的测试,我可以使用如下内容:

args_str = "-k test_myfavorite"
py.test.cmdline.main(args_str.split(" "))

相关问题 更多 >