我已经通过Composer安装了最新版本的PHPUnit和Skeleton Generator,4.1.3和2.0.1。我已将它安装到我的项目目录中并确认我可以测试所有文件。但是,我不能运行骨架生成器来创建新的测试。我正在使用Netbeans及其PHPUnit集成来创建测试。当我尝试生成测试时,我得到以下内容:
"C:\xampp\php\php.exe" "C:\Users\Bob\Projects\[myProject]\website\vendor\phpunit\phpunit-skeleton-generator\phpunit-skelgen" "--test" "--" "Security\SecureAPI" "C:\Users\Bob\Projects\[myProject]\website\src\Security\SecureAPI.php" "Security\SecureAPITest" "C:\Users\Bob\Projects\[myProject]\website\test\phpunit\src\Security\SecureAPITest.php"
phpunit-skelgen 2.0.1 by Sebastian Bergmann.
[InvalidArgumentException]
Command "Security\SecureAPI" is not defined.
Done.
在此之前我选择了Netbeans的“使用引导程序创建新单元测试”选项,并出现此错误:
"C:\xampp\php\php.exe" "C:\Users\Bob\Projects\[myProject]\website\vendor\phpunit\phpunit-skeleton-generator\phpunit-skelgen" "--bootstrap" "C:\Users\Bob\Projects\[myProject]\website\test\phpunit\bootstrap.php" "--test" ...
[InvalidArgumentException]
There are no commands defined in the "C" namespace.
使用1.2.1版生成测试在我的旧开发机器上运行良好。我想知道问题是否特定于skelgen的2.0.1版本。它似乎将C:视为命名空间,而1.2.1则没有。我已经确认Netbeans为1.2.1和2.0.1生成了相同的命令行指令,因此它们的解释方式似乎发生了变化。
有没有人见过这个?有任何想法吗?我正在使用Netbeans 8.0运行Win7机器。提前谢谢。