当前位置: 首页 > 知识库问答 >
问题:

作曲家自动加载程序在运行测试时找不到PHPUnit

卓雅达
2023-03-14

我正在更新一个遗留的PHP项目来使用作曲家,并实现PHPUnit。不幸的是,我遇到了一些问题。运行PHPUnit时

致命错误:未找到类“PHPUnit\u Framework\u TestCase”

{
    "require": {
        "phpunit/phpunit": "^8.0",
        "phpoffice/phpspreadsheet": "^1.6"
    },
    "autoload": {

        "psr-4": {"Biz\\": "src/php/Classes"}
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
         bootstrap="vendor/autoload.php"
         verbose="true">
  <testsuites>
  <testsuite name="Random Tests">
    <directory>./src/test/random/*Test.php files</directory>
  </testsuite>
</testsuites>
</phpunit>

正在执行的命令行

$ ./vendor/bin/phpunit ./src/test/random/SampleTest.php

我使用git-bash运行它。从可视化工作室代码执行给出了相同的结果。我已经阅读,实现了PHPUnit中使用作曲家和autoload.php自动加载类中描述的问题

<?php

class SampleTest extends \PHPUnit_Framework_TestCase {
    public function testUserClassInheritance(){
        global $mysqlConn;
        echo "testing";
        $this->assertTrue(true);

        $user = new Bruger;
    }
}

共有1个答案

干弘深
2023-03-14

PHPUnit_Framework_TestCase在PHPUnit版本8中不存在,这是您指定的最低版本。从(我认为)PHPUnit版本5开始,它使用名称空间,所以您的测试用例应该被命名为\PHPUnit\Framework\TestCase

您可以将PHPUnit需求降级为旧版本,或者(最好)更新测试以满足新的命名风格。

 类似资料:
  • 不知何故,我无法让自动加载正常工作。我正在为phpunit使用以下引导文件。 这个的输出显示,据我所知,注册应该是正常的。 不知怎的,我犯了以下错误。 在myproj文件夹src/test/unit/-DefaultDomainEventTest中,我的文件夹结构如下所示。php-bootstrap。php示例/-NotificationCountChangedEvent。php Notifica

  • 我按照作曲家的说明,成功安装了作曲家。我想使用Tumblr全新的php api客户端。 我的文件夹结构: : : 使用也非常有效。但是当执行找不到该类。 致命错误:类'Tumblr\API\Client'未在第9行的[...]/htdocs/Tumblr/myfile.php中找到

  • 我正在使用一些phpunit测试类尝试composer autoload,但我似乎无法让它工作。当我从命令行运行phpunit时,我得到以下错误:“PHP致命错误:Class…notfound”。 我将提供所有的结构和文件信息。我可以,所以希望有人能发现我的错误。 结构(精简为相关文件): composer.json phpunit.xml 测试/功能/基本测试用例。php 测试/功能/主页测试。

  • 其实我是新的PHP。我在一个几乎是空的文件夹中运行这个(实际上是按照劳拉-cast教程:用TDD设计一个流畅的应用编程接口)。 我的目录结构看起来像 src 表情。php 表达测试。php 内部作曲家。json: 内部表达测试。php: 内心的表达。php 然后我运行composer dump autoload并运行phpunit,但仍然得到: 我的语法有问题吗?我对作曲家的理解是非常基本的。提前

  • 文件自动加载_psr4。php不包含“autoloaddev”部分的名称空间,仅包含“autoload”部分的名称空间。 当我的作曲家。json读取 然后我跑了 My/vendor/composer/autoload_prs4。php文件显示为 谢谢

  • 如何自动加载助手函数(在任何类之外)?我可以在应该首先加载的某种引导文件?