不能使用PHPStorm在PHPUnit测试中解析一个目录命令

时间:2015-01-06 21:01:23

标签: php phpunit phpstorm

我在PHPStorm项目中设置了PHPUnit。我引用了PHPUnit phar文件并将PHP可执行文件链接到我的PHPStorm运行配置。我的目录结构如下:

/lib/classes/Class.php
/lib/vendor/phpunit.phar
/lib/test/ClassTest.php

在我的ClassTest.php文件中,我引用了其他两个文件:

require_once (__DIR__ . "../vendor/phpunit.phar");
require_once (__DIR__ . "../classes/Class.php");

运行测试时出现以下错误:

Fatal error: require_once(): Failed opening required 
'C:\Users\me\PhpstormProjects\myproject\lib\tests../vendor/phpunit.phar'

似乎PHP解析器没有正确解析向上一个目录../命令。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

首先:此行不需要(根本不需要),因为当时已经加载了PHPUnit。

require_once (__DIR__ . "../vendor/phpunit.phar");

其次:PHP中的 __DIR__常量不包含尾部斜杠。当在require / include语句(以及构建完整文件路径时的其他位置)中使用时,您必须自己添加它。

在您的特定情况下,必须(在/之前注意..):

require_once (__DIR__ . "/../classes/Class.php");