获得“运行重点测试方法”以在netbeans中工作

时间:2015-06-13 11:42:17

标签: netbeans phpunit

文件SearchTest.php具有:

public function testSearchThenBooking(){
...
}

当我右键单击时,我可以看到“运行聚焦测试方法”(以及“调试聚焦测试方法”),但它们是灰色的。

我意识到没有安装phpunit netbeans插件。所以我已经安装了,重新启动netbeans,但没有区别。

来自命令行的phpunit工作正常,并运行并传递此函数。

这个答案显示它显然对某些人有用! https://stackoverflow.com/a/30568731/841830

我是否需要将我的项目配置为使用phpunit,或告诉它phpunit在哪里,或者......?

1 个答案:

答案 0 :(得分:1)

是的,您需要手动下载PHPUnit ScriptSkeleton Generator Script

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit

wget https://phar.phpunit.de/phpunit-skelgen.phar
chmod +x phpunit-skelgen.phar
sudo mv phpunit-skelgen.phar /usr/local/bin/phpunit-skelgen

并完成工具/选项/框架&工具表单

enter image description here

可以找到安装和配置的完整详细信息here。但即使你这样做,它也行不通,因为netbeans(8.0.2)的最新版本中存在一个错误。

Bug 254276 - NetBeans v8.0.2 incompatible w/ latest PHPUnit version.

所以你有两个选择:要么使用包含以下nightly buildpatch来解决问题:

 1.1 --- a/php.phpunit/src/org/netbeans/modules/php/phpunit/commands/PhpUnit.java
 1.2 +++ b/php.phpunit/src/org/netbeans/modules/php/phpunit/commands/PhpUnit.java
 1.3 @@ -123,6 +123,7 @@
 1.4      private static final String COVERAGE_LOG_PARAM = "--coverage-clover"; // NOI18N
 1.5      private static final String LIST_GROUPS_PARAM = "--list-groups"; // NOI18N
 1.6      private static final String GROUP_PARAM = "--group"; // NOI18N
 1.7 +    private static final String PARAM_SEPARATOR = "--"; // NOI18N
 1.8      // bootstrap & config
 1.9      private static final String BOOTSTRAP_PARAM = "--bootstrap"; // NOI18N
1.10      private static final String BOOTSTRAP_FILENAME = "bootstrap%s.php"; // NOI18N
1.11 @@ -319,6 +320,8 @@
1.12              // #218607 - hotfix
1.13              //params.add(SUITE_NAME)
1.14              params.add(getNbSuite().getAbsolutePath());
1.15 +            // #254276
1.16 +            params.add(PARAM_SEPARATOR);
1.17              params.add(String.format(SUITE_RUN, joinPaths(runInfo.getStartFiles(), SUITE_PATH_DELIMITER)));
1.18          }
1.19  

要么等待下一个版本。