簡體   English   中英

運行測試時,Composer自動加載器找不到PHPUnit

[英]Composer autoloader can't find PHPUnit when running tests

我正在更新一個舊的PHP項目以使用作曲家,並實現了PHPUnit。 不幸的是,我遇到了一些問題。 運行PHPUnit時

致命錯誤:找不到類“ PHPUnit_Framework_TestCase”

composer.json

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

        "psr-4": {"Biz\\": "src/php/Classes"}
    }
}

phpunit.xml

<?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運行它。 從Visual Studio代碼執行可以得到相同的結果。 我已經閱讀並使用Composer和autoload.php實現了PHPUnit中的Autoloading類中所述的問題

測試用例

<?php

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

        $user = new Bruger;
    }
}

PHPUnit版本8(您的最低指定版本)不存在PHPUnit_Framework_TestCase 從(我認為)PHPUnit版本5開始,它使用名稱空間,因此您的測試用例應命名為\\PHPUnit\\Framework\\TestCase

您可以將PHPUnit要求降級到較舊的版本,或者(最好)更新測試以符合新的命名方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM