通常使用C和Java开发,我无法正确地在Eclipse中运行PHPUnit测试。
我在Ubuntu 15.04上安装了Eclipse Luna SR1(4.4.1)和PDT 3.4.0以及MakeGood 3.1.1。
首先我有错误
PHPUnit_Framework_TestCase class is not available. Fix...
并尝试将PEAR [Environment]
用户库添加到构建路径以重复修复此问题
Cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link1'
可以通过添加
解决这个问题<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/PEAR"/>
到Eclipse项目文件夹中的.buildpath
。
然后运行测试然后失败
Fatal error: Class 'PHPUnit_Framework_TestSuite' not found in [...] PHPUnitCollector.php on line 124
所以我创建了一个bootstrap.php
:
<?php
include_once '/usr/share/php/PHPUnit/Autoload.php';
include_once '/usr/share/php/PHP/Token/Stream/Autoload.php';
和phpunit.xml
:
<phpunit bootstrap="bootstrap.php">
</phpunit>
并将它们设置为&#34; Preload Script&#34;和&#34; XML配置文件&#34;在MakeGood项目属性中。
它更进一步,但现在测试失败了
Fatal error: Class 'mysqli' not found
这就是我现在失去的地方。
如果我使用
在命令行上运行测试 phpunit --coverage-html coverage .
它们都运行良好,并且还创建了HTML覆盖率报告。
在PHP可执行文件下的Eclipse首选项中,我选择了PHP CLI (Workspace Default)
与位置/usr/bin/php
;在命令行中使用相同的php可执行文件,所以我假设使用相同的php.ini ...所以我不知道为什么它在Eclipse中失败但在命令行上工作。
有什么建议吗?