我有以下测试文件,这是 PHPUnit 网站上的示例。
<?php
require_once 'PHPUnit/Autoload.php';
class StackTest extends PHPUnit_Framework_TestCase
{
public function testPushAndPop()
{
$stack = array();
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack)-1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
}
?>
我尝试在 PHPStorm 5.0 中运行它,但出现以下错误:
E:\wamp\bin\php\php5.3.13\php.exe C:\Users\<user>\AppData\Local\Temp\ide-phpunit.php --no-configuration StackTest E:\wamp\www\renting\tests\StackTest.php
Testing started at 03:37 ...
SCREAM: Error suppression ignored for
Warning: require_once(PHPUnit/Runner/Version.php): failed to open stream: No such file or directory in C:\Users\<user>\AppData\Local\Temp\ide-phpunit.php on line 166
当我将包含路径设置为 E: 时,有什么想法为什么它会转到 C: 吗?
解决了!
似乎某些依赖项存在问题,特别是 pear.symfony.com/Yaml。
通过这样做解决了它:
pear channel-discover pear.symfony.com
pear install pear.symfony.com/Yaml
pear channel-discover pear.phpunit.de
pear install --alldeps pear.phpunit.de/PHPUnit
解决方案的想法来自:如何正确使用 PEAR 安装 PHPUnit?
我的问题是类似的 - 但我通过指向测试中的引导文件解决了这个问题。然后,一切都很顺利。
我在类似的问题上挣扎了很长一段时间,结果证明这是一个配股问题。
这是我的解决方案:https://stackoverflow.com/a/22886926/1311443
希望可以帮助其他人更快地解决类似问题。
这是针对 JetBrains 可怕黑客攻击等问题的正确解决方案。