PHPUnit没有看到其他目录中的文件

时间:2017-01-26 11:15:05

标签: php xampp phpunit

我的项目有这个文件结构:

- Root
 -- /src
 -- /tests

我已将测试放在tests目录上。

当所有包含的文件都在根文件夹中时,一切正常,但是当我想将我的文件放在src中时,我得到错误:

  

警告:require(../ src / Task1.php):无法打开流:第2行的E:\ xampp \ htdocs \ CodewarsPHP \ tests \ Task1Test.php中没有此类文件或目录

     

致命错误:require():无法打开所需的' ../ src / Task1.php' (include_path =' E:\ xampp \ php \ PEAR')在2行的E:\ xampp \ htdocs \ CodewarsPHP \ tests \ Task1Test.php

我的测试文件:

<?php
require '../src/Task1.php';
class Task1Test extends PHPUnit_Framework_TestCase
{
    public function testTask1(){
      $this->assertEquals([1,1,1,3,5,9],fib([1,1,1],6));
    }
}

1 个答案:

答案 0 :(得分:0)

您没有告诉我们您如何调用/运行phpunit,但我猜测该phar文件与您的测试脚本不在同一个文件夹中。

然后,当你做

require '../src/Task1.php';

在执行时,PHP将解析相对于phpunit脚本的Task1.php 的位置,而不是相对于 Task1Test.php 的位置。

您可以使用__DIR__,它在运行时被解析为使用常量的文件所在的目录,然后使用require文件的绝对路径:

require __DIR__ . '../src/Task1.php';