dongqiao2077
2015-01-06 21:01
浏览 140
已采纳

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

I have PHPUnit set up in my PHPStorm project. I've referenced the PHPUnit phar file and have a PHP executable linked to my PHPStorm run configuration. My directory structure looks like:

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

In my ClassTest.php file, I reference the other two files with:

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

I get the following error when I run my test:

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

It seems like the PHP parser isn't correctly parsing the up one directory ../ command.

Why is this happening?

图片转代码服务由CSDN问答提供 功能建议

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

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

在我的 ClassTest.php 文件中,我用以下内容引用其他两个文件:

  require_once(__DIR __。“.. / vendor / phppunit.phar”); 
require_once(__DIR__。“../ classes /Class.php”); 
  
nn

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

 致命错误:require_once():无法打开
'C:\ Users \ me \ PhpstormProjects \ myproject \  lib \ tests ../ vendor / phpunit.phar'
   
 
 

好像PHP解析器没有正确解析上一个目录 ../ 命令。

为什么会发生这种情况?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doujiu8918 2015-01-06 22:06
    已采纳

    First of all: this line is not needed (at all) as PHPUnit will already be loaded at that time.

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

    Secondly: __DIR__ constant in PHP does not contain trailing slash. When used in require/include statements (and other places when building full file path) you have to add it yourself.

    In your particular case it has to be (note / before ..):

    require_once (__DIR__ . "/../classes/Class.php");
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题