PHPStorm,单元测试当前的类

时间:2014-12-06 17:38:31

标签: php unit-testing phpunit phpstorm

我正在尝试从NetBeans迁移到PHPStorm,而我无法弄清楚的是:如何在不为每个类单独创建运行配置的情况下为当前类(可能是哪个)运行我的测试套件?

在NetBeans中,您可以使用Alt + F6运行整个套件,或者仅使用F6运行当前类。这使您可以只运行所需的测试而不是整个套件,这显然可以节省时间。

我无法弄清楚如何在PHPStorm中执行此操作而不为项目中的每个类创建新的运行配置,我显然不想这样做。

2 个答案:

答案 0 :(得分:4)

首先你必须告诉PHPStorm你在哪里存储你的测试:

  1. 设置 - >目录将您的测试文件夹标记为测试
  2. 配置设置 - > PHP-> PHPUnit
  3. 右键单击您的测试目录中的任何测试并选择“运行”,它将动态创建此特定测试文件的测试配置。
  4. 您甚至可以右键单击单个测试方法并选择“运行”(或调试), 对于任何测试文件夹都是相同的(如果您有嵌套的测试目录)。

答案 1 :(得分:1)

这个帖子给了我很多帮助,我很感谢Jakub's answer但是我不得不做更多的挖掘工作,所以我想我会尝试更进一步:

  1. 档案>设置>目录

    • 选择包含测试的任何目录(也许 yourprojectroot / tests)并单击标记为:测试
    • 请注意,如果有,请重复此步骤 包含测试的多个目录 选择将包括子目录,所以没有 担忧。
  2. 档案>设置>语言与框架> PHP

    • 确保您的php语言级别和CLI解释器设置正确
  3. 档案>设置>语言与框架> PHP> PHPUnit的

    • 假设您使用编辑器选择使用Composer自动加载器并将路径设置为yourprojectroot/vendor/autoload.php

    • 或者您可以选择路径到phpunit.phar 并导航到vendor/bin/phpunit,然后选中默认引导程序文件旁边的框并将其设为vendor/autoload.php

    • 的路径
  4. 在编辑器中打开任何phpunit测试文件,然后按 Ctrl Shift F10 运行它

    • 不确定mac的键绑定,但如果单击Run>运行...也可以工作,它会告诉你子菜单中的键绑定
  5. 其他提示:自从发布此功能并使用该功能后,我学到了一些有用的东西,并认为我只是在这里添加它们:

    • 如果选择任何测试目录或测试,则在项目文件资源管理器中 文件并执行 Ctrl Shift F10 它将运行 该文件或目录中的所有测试文件。

    • Shift F10 - 将重新运行您运行的任何测试 最后,所以如果你正在做TDD并且以前执行过测试而且 你在被测试的班级工作,你可以做出改变 每次更改后按 Shift F10 重新运行以前运行的测试,无需选择重新运行的测试 它