当前位置: 首页 > 面试题库 >

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

韦睿
2023-03-14
问题内容

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

据称,PyCharm在其测试运行程序中支持py.test。您应该能够创建运行/调试配置来运行测试,并且PyCharm据称具有专门用于py.test的“创建配置”对话框。但这是他们关于该主题的文档的完整范围,我无法在任何地方找到这个所谓的对话框。

如果在“项目”工具窗口中右键单击目录,则应该看到“创建<名称>”菜单项,但是唯一以“创建”开头的菜单项是“创建运行配置”。好的,也许文档只是错误的,“创建运行配置”听起来确实很有希望。不幸的是,其子菜单中仅有的两个项目是“
C:\ mypath …中的单元测试”和“ C:\ mypath …中的文档测试”,都不适用-
我既未使用unittest也未使用doctest。py.test没有菜单项。

如果我打开test_sample.py并在编辑器窗口中单击鼠标右键,则会得到承诺的“创建<名称>”菜单项:有“在test_sa中创建’Unittests
…’…”,然后是“运行” “
test_sa中的单元测试…”和“调试test_sa中的单元测试…”。同样,这都是单元测试框架所特有的。py.test没有。

如果我尝试显示“
unittest”的菜单项,则会出现一个对话框,其中包含“名称”,“类型”,带有“文件夹”,“模式”,“脚本”和“类”的“测试”组框”和“函数”等。这听起来与为Python单元测试添加配置的对话框所记录的内容完全不同,而不像应该显示的“名称”和“运行测试”以及“关键字”选项一样在py.test对话框的配置中。对话框中没有任何内容可以切换我要添加的测试框架。

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

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


问题答案:

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



 类似资料:
  • 问题内容: 我想依次运行每个选定的py.test项目任意次。 我没有看到任何标准的py.test机制来执行此操作。 我试图做到这一点。我修改了传入的项目列表,以多次指定每个项目。测试项目的第一次执行可以按预期工作,但是这似乎对我的代码造成了一些问题。 此外,我希望每次运行都具有唯一的测试项目对象,因为我在各种报告代码中都使用id(项目)作为键。不幸的是,我找不到任何py.test代码来复制测试项目

  • 我正在尝试设置selenium网络驱动程序,以便与浏览器堆栈一起使用Java进行自动化测试。我为java安装了Selenium,并从浏览器堆栈的站点https://www.browserstack.com/automate/java#configure-capabilities复制和粘贴代码以设置示例自动化测试。 我运行了javac-classpath selenium-server-standa

  • 问题内容: 我试图设置Selenium Webdriver与Java的Browserstack一起使用,以进行自动测试。我安装了Selenium for Java,然后从浏览器堆栈的站点https://www.browserstack.com/automate/java#configure- capabilities 复制并粘贴了代码,以建立示例自动化测试。 我从终端运行(JavaSample.j

  • 问题内容: 我想将我的protractor.conf.js设置为在Edge中而不是在Chrome中运行测试。设定这个 导致错误代码为199。我从Microsoft的网站上下载了Edge版本的MicrosoftWebDriver.exe,但是我不知道如何告诉Protractor在哪里找到该驱动程序。我试着将它添加到我的用户路径,我的系统路径,在量角器的节点模块文件夹中的selenium文件夹,给人一

  • Mac os对我来说是新的。我最近在MAC OS上安装了MAMP。我已将我的php项目放入 应用程序/MAMP/htdocs 当我执行这个代码我得到的URL作为 因为网址说它使用8888端口,我不想在我的网址8888,因为我的项目有各种重定向。所以我尝试改变MAMP上的端口------ 优势-----imade它设置默认的apace和MySql端口 但是在ist之后,当我重新启动MAMP时,我找到

  • 问题内容: 我正在尝试测试tensorflow程序。我正在使用参数化的py.test夹具设置tensorflow会话: Tensorflow具有全局状态,因此一些测试启动会污染它。例如,启用急切执行后,无法禁用它。有没有一种方法可以指示py.test为每个测试创建一个新进程?还是使用参数化夹具来配置测试环境的另一种方法?用法示例: 问题答案: 如评论中所建议,使用将是解决方案。该插件设计用于并行或