Tor*_*mer 5 php eclipse phpunit mysqli
通常使用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...
在MakeGood中并尝试将PEAR [Environment]用户库添加到构建路径以反复修复此失败
Cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link1'
这可以通过添加来解决
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/PEAR"/>
Run Code Online (Sandbox Code Playgroud)
到.buildpathEclipse项目文件夹中.
然后运行测试失败了
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';
Run Code Online (Sandbox Code Playgroud)
和a phpunit.xml:
<phpunit bootstrap="bootstrap.php">
</phpunit>
Run Code Online (Sandbox Code Playgroud)
并在MakeGood项目属性中将它们设置为"预装脚本"和"XML配置文件".
它走得更远,但现在测试失败了
Fatal error: Class 'mysqli' not found
这就是我现在迷失的地方.
如果我在命令行上运行测试
phpunit --coverage-html coverage .
它们都运行良好,并且还创建了HTML覆盖率报告.
在PHP Executables下的Eclipse首选项中,我选择PHP CLI (Workspace Default)了Location /usr/bin/php; 在命令行上使用相同的php可执行文件,所以我假设使用相同的php.ini ...所以我不知道为什么它在Eclipse中失败但在命令行上工作.
有什么建议?
最终我发现 - 在 PHP 可执行文件下的 Eclipse 首选项中,我必须设置PHP 5.5.3 (CLI)为默认值并进行以下设置:
这里重要的是让“PHP ini 文件(可选)”字段为空,并选中“使用系统默认 php.ini 配置”选项。
现在所有测试都在 MakeGood 中运行。
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |