Netbeans 8在phpunit skelgen语法上出错

Netbeans 8在phpunit skelgen语法上出错,php,netbeans,phpunit,Php,Netbeans,Phpunit,我正在尝试使用Netbeans内部的工具自动化PHPUnit测试。但是我不能让phpunit skelgen运行。这是Netbeans试图执行的: "/usr/bin/php" "/var/home/brod/vendor/bin/phpunit-skelgen" "--test" "--" "Calculator" "/var/home/brod/projeto/calculadora.php" "CalculatorTest" "/var/home/brod/projeto/testes/c

我正在尝试使用Netbeans内部的工具自动化PHPUnit测试。但是我不能让phpunit skelgen运行。这是Netbeans试图执行的:

"/usr/bin/php" "/var/home/brod/vendor/bin/phpunit-skelgen" "--test" "--" "Calculator" "/var/home/brod/projeto/calculadora.php" "CalculatorTest" "/var/home/brod/projeto/testes/calculadoraTest.php"
如果在命令行中将“-test”替换为“generate test”,其余部分保持不变,则会创建测试:

"/usr/bin/php" "/var/home/brod/vendor/bin/phpunit-skelgen" "generate-test" "--" "Calculator" "/var/home/brod/projeto/calculadora.php" "CalculatorTest" "/var/home/brod/projeto/testes/calculadoraTest.php"

现在,有没有一种简单的方法告诉Netbeans使用正确的语法?

使用较旧版本的phpunit,或者创建一个包装器并指向它

phpunit-skelgen.sh:

#!/bin/sh
/location/to/your/phpunit-skelgen generate-test $4 $5 $6 $7 $8
命令行:

chmod +x phpunit-skelgen.sh

以下是包装器的PHP版本:

<?php

$phpunit_skelgen_path = 'C:\Users\YourUser\AppData\Roaming\Composer\vendor\phpunit\phpunit-skeleton-generator\phpunit-skelgen';

$php_path = 'C:\PHP\php.exe';

foreach ($argv as $i => $arg) {
    if ($arg === '--test') {
        $argv[$i] = 'generate-test';
    }
}

$arguments = implode(' ', array_slice($argv, 1));

system("$php_path $phpunit_skelgen_path $arguments");

谢谢你,丹尼尔!我从没想过要用贝壳包装。它只做了一个小改动:/location/to/your/phpunit skelgen generate test$5$6$7$8$9I遇到了同样的问题,但似乎没有人能解决它。通常我不会满足于这样一个黑客,但…这么多的事情要做,这么少的时间来做!很高兴它对你有用!在我的PHP敏捷测试教程的第三章中,我公开感谢了大家:(尽管是葡萄牙语!)。