找不到作曲家phpunit psr-4自动加载类

芬格利什

我正在尝试使用一些phpunit测试类对composer autoload进行尝试,但我似乎无法使其正常工作。当我从命令行运行phpunit时,出现以下错误:“ PHP致命错误:找不到类...”。

我将提供所有的结构和文件信息。我可以,所以希望有人会发现我出了问题。

结构(缩减为相关文件):

composer.json
composer.lock
phpunit.xml
vendor/
tests/
    functional/
        BaseTestCase.php
        HomepageTest.php

composer.json

{
"require": {
    "php": ">=5.5.0",
    "slim/slim": "^3.1",
    "slim/php-view": "^2.0",
    "monolog/monolog": "^1.17"
},
"require-dev": {
    "phpunit/phpunit": ">=4.8 < 6.0"
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    }
}
}

phpunit.xml

<?xml version="1.0" encoding="utf-8" ?>
<phpunit colors="true" bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Initial tests">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

测试/功能/ BaseTestCase.php

<?php
namespace Tests\Functional;

use Slim\App;
use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Http\Environment;

class BaseTestCase extends \PHPUnit_Framework_TestCase
{
  ...

测试/功能/ HomepageTest.php

<?php
namespace Tests\Functional;

class HomepageTest extends BaseTestCase
{
   ...

然后,我运行更新以刷新自动加载文件

$ composer update

Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files

然后,我尝试运行phpunit并发现未找到类错误:

$ vendor/bin/phpunit

PHP Fatal error:  Class 'Tests\Functional\BaseTestCase' not found in <project-root>/tests/functional/HomepageTest.php on line 6

为了更彻底,我尝试以另一种方式刷新自动加载文件,以防万一:

$ composer dump-autoload

Generating autoload files
sfbagency@sfb1:~/clients/ctest/dev$ 

我还检查了vendor / composer / autoload_psr4.php以确保已经设置了Test引用。

...
Tests\\' => array($baseDir . '/tests'),
...

我像疯了似的用Google搜索,但不知道我要去哪里错了。

伊拉斯

命名空间目录区分大小写。您必须将文件夹重命名为Functional

PSR-4文档中所述

子目录名称必须与子命名空间名称的大小写匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

作曲家自动加载PSR-0找不到类

来自分类Dev

PSR-4作曲家自动加载自己的课程-找不到

来自分类Dev

PSR 4自动加载找不到类

来自分类Dev

作曲家,PSR-4自动加载迭代

来自分类Dev

作曲家-自动加载和PSR-0与PSR-4

来自分类Dev

作曲家自动加载,找不到类

来自分类Dev

使用作曲家无法启动psr-0自动加载,但与psr-4自动加载完美配合

来自分类Dev

找不到类-PSR-4命名空间自动加载

来自分类Dev

带有作曲家PSR-4的Docker php

来自分类Dev

作曲家自动加载-找不到课程

来自分类Dev

作曲家自动加载-找不到课程

来自分类Dev

找不到作曲家ps4类

来自分类Dev

作曲家psr-0自动加载器和符号链接

来自分类Dev

作曲家自动加载器psr-0命名空间

来自分类Dev

作曲家-测试创建的包-找不到类

来自分类Dev

作曲家-测试创建的包-找不到类

来自分类Dev

作曲家要求后找不到类

来自分类Dev

Symfony-自动加载器找不到类/作曲家错误

来自分类Dev

Composer自动加载和PSR-0找不到类

来自分类Dev

composer PSR-4 自动加载器“找不到类”错误

来自分类Dev

作曲家未加载我自己的psr-0文件

来自分类Dev

作曲家未加载我自己的psr-0文件

来自分类Dev

使用PSR-4自动加载在Laravel 4中找不到自定义类的奇怪错误

来自分类Dev

找不到Composer PSR-4类

来自分类Dev

PHP PSR-4-找不到类

来自分类Dev

自定义作曲家命名空间找不到类

来自分类Dev

找不到安装了作曲家的phpleague Csv库中的类

来自分类Dev

如何修复Symfony中作曲家更新后找不到的类?

来自分类Dev

作曲家更新时找不到类'Carbon\Laravel\ServiceProvider'