【问题标题】:PHPUnit doesn't see files from other directoriesPHPUnit 看不到其他目录中的文件
【发布时间】:2017-06-11 20:29:04
【问题描述】:

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

- Root
 -- /src
 -- /tests

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

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

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

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

我的测试文件:

<?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));
    }
}

【问题讨论】:

    标签: php xampp phpunit


    【解决方案1】:

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

    然后,当你这样做时

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-09
      • 2011-11-19
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 2020-02-04
      相关资源
      最近更新 更多