我如何configurationPyCharm运行py.testtesting?

我想开始为我的Python代码编写unit testing, py.test框架听起来比Python的捆绑unit testing更好。 所以我添加了一个“testing”目录到我的项目中,并添加了test_sample.py 。 现在我想configurationPyCharm在我的“testing”目录下运行所有​​的testing。

据称,PyCharm 支持py.test的testing运行。 你应该能够创build一个运行/debuggingconfiguration来运行你的testing,据称PyCharm有一个专门用于py.test的“创buildconfiguration”对话框 。 但是,这是关于这个主题的文档的完整范围,我无法在任何地方find这个所谓的对话框。

如果我右键单击Project工具窗口中的目录,我应该看到一个“Create <name>”菜单项,但以“Create”开头的唯一菜单项是“Create Run Configuration”。 好吧,也许文档是错误的,“创build运行configuration”听起来很有希望。 不幸的是,它的子菜单中只有两个项目是“Unittests in C:\ mypath …”和“Doctest in C:\ mypath …”,两者都不适用 – 我既不使用unittest也不使用doctest。 py.test没有菜单项。

如果我打开我的test_sample.py并在编辑器窗口中右键单击,我确实得到了承诺的“Create <name>”菜单项:在test_sa中创build'Unittests …'…“,然后是”Run “test_sa中的unit testing…”和“test_sa中的debugging”unit testing…“。 再次,这是所有unit testing框架的具体情况。 没有任何py.test。

如果我尝试使用“unittest”的菜单项,我会得到一个对话框,其中包含“Name”,“Type”,“Tests”combobox,“Folder”和“Pattern”,“Script”和“Class “和”function“等。这听起来就像是为Pythonunit testing添加configuration的对话框,而不是像应该显示的”Name“和”Test to run“和”Keywords“选项在py.test对话框的configuration中 。 对话框内没有任何东西可以切换我添加的testing框架。

我在Python 3.1.3和pytest 2.0.3上使用PyCharm 1.5.2。 我可以在命令行上成功运行py.test ,所以pytest没有正确安装。

我如何configurationPyCharm来运行我的py.testtesting?

请去文件| 设置| 工具| Python集成工具,并将默认的testing运行器更改为py.test。 然后你会得到py.test选项来创buildtesting,而不是unit testing。

我想你需要使用工具栏上的运行/debuggingconfiguration项目。 点击它和“编辑configuration”(或者使用菜单项“运行” – >“编辑configuration”)。 在左侧窗格的“默认”部分有一个“py.test”项目,我认为是你想要的。

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

这是很难logging的确定的。 一旦你从默认添加一个新的configuration,你将在运行“/ Applications / PyCharm CE.app/Contents/helpers/pycharm/pytestrunner.py”脚本的领域。 它没有logging,并有自己的命令行参数的想法。

您可以:

  1. 试着玩,扭转脚本,看看你能不能让py.test接受参数。 它可能工作; 它没有在我的上半个小时。
  2. 只需从控制台运行“py.test * .py”。

奇怪的是,你会发现很难find任何讨论JetBrains做了很好的轰炸谷歌algorithm与自己的网页。

find这个线程,当我点击相同的问题,并find解决schemepycharm版本:2017.1.2转到“首选项” – >“工具” – >“Python集成工具”,并从右侧面板设置默认testing运行器为py.test解决我的问题

使用一个特殊的Conda python安装程序,其中包括py.test的pip安装以及Specs插件的使用(选项–spec)(对于Rspec,比如很好的testing总结语言),我必须做;

1.编辑默认的py.test以包含选项= –spec,这意味着使用插件: https : //github.com/pchomik/pytest-spec

2.使用py.test创build新的testingconfiguration。 改变它的Python解释器使用〜/ anaconda / envs /你select的解释器,例如py27作为我的命名。

3.删除“unit testing”configuration。

4.现在默认的testingconfiguration是py.test与我可爱的Rspec样式输出。 我喜欢它! 谢谢大家!

ps Jetbrains的运行/debuggingconfigurationdoc在这里: https ://www.jetbrains.com/help/pycharm/2016.1/run-debug-configuration-py-test.html?search = py.test