如何配置PyCharm来运行py.test测试?

2024-04-28 12:39:18 发布

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

我想开始为我的Python代码编写单元测试,py.test框架听起来比Python捆绑的unittest更好。所以我在我的项目中添加了一个“tests”目录,并在其中添加了test_sample.py。现在我想配置PyCharm来运行“tests”目录中的所有测试。

据称,PyCharm在其测试运行程序中supports py.test。你应该能够create a run/debug configuration运行你的测试,而PyCharm据说有一个"create configuration" dialog box specifically for py.test。但这是他们关于这个主题的全部文档,我在任何地方都找不到这个所谓的对话框。

如果我右键单击项目工具窗口中的目录,我将supposed看到一个“Create<;name>;”菜单项,但以“Create”开头的唯一菜单项是“Create Run Configuration”。好吧,也许文档是错误的,“创建运行配置”听起来确实很有希望。不幸的是,它的子菜单中只有两项是“C:\ mypath…”中的Unittests和“C:\ mypath…”中的Doctests,这两项都不适用——我既不使用unittest也不使用doctest。没有py.test的菜单项。

如果我打开test_sample.py并在编辑器窗口中右键单击,就会得到承诺的“Create<;name>;”菜单项:有“Create‘Unittests in test_sa…’”…,然后是“Run‘Unittests in test_sa…’”和“Debug‘Unittests in test_sa…’”。同样,这都是针对unittest框架的;py.test没有。

如果我试一下菜单项,上面写着“unittest”,我会得到一个对话框,里面有“Name”、“Type”选项,还有一个“Tests”组框,里面有“Folder”、“Pattern”、“Script”、“Class”和“Function”选项,等等。这听起来和添加configuration for Python Unit Test的对话框完全一样,也不像configuration for py.test对话框中应该显示的“Name”、“Test to run”和“Keywords”选项。对话框中没有任何内容可以切换我要添加的测试框架。

我正在使用Python 3.1.3和pytest 2.0.3的Windows上的PyCharm 1.5.2。我可以从命令行成功地在测试上运行py.test,所以这并不像pytest没有正确安装那样简单。

如何配置PyCharm来运行py.test测试?


Tags: inpytest目录框架for选项create
3条回答

我认为您需要使用工具栏上的Run/Debug配置项。单击它并“编辑配置”(或者使用菜单项“运行”->;“编辑配置”)。在左窗格的“Defaults”部分中有一个“py.test”项,我认为这是您想要的。

我还发现手册与这个用户界面不匹配。希望我已经正确地理解了这个问题,这对我有帮助。

皮查姆2017.3

  1. Preference -> Tools -> Python integrated Tools-选择py.test作为Default test runner
  2. 如果您使用Django Preference -> Languages&Frameworks -> Django-设置勾号Do not use Django Test runner
  3. Run/Debug configuration中清除所有以前存在的测试配置,否则将使用这些旧配置运行测试。
  4. 若要设置某些默认附加参数,请更新py.test默认配置。Run/Debug Configuration -> Defaults -> Python tests -> py.test -> Additional Arguments

请转到文件| Settings | Tools | Python Integrated Tools并将默认测试运行程序更改为py.test。然后您将得到py.test选项来创建测试,而不是unittest选项。

相关问题 更多 >