未找到类“..\Unit\UnitTestCase”

问题描述 投票:0回答:1

我正在将

laravel
5.5.*
升级到
5.6.0
。 Composer 安装运行良好。我正在尝试运行单元测试,此时会弹出此错误。

未找到类“..\Unit\UnitTestCase”

这是错误的堆栈跟踪:

致命错误:未捕获错误:类“PhiraterTest\Unit\UnitTestCase” 未找到于 /home/vagrant/code/phirater-l51/tests/unit/Phirater/AdditionalCurrency/CreateAdditionalCurrencyCommandHandlerTest.php:11 堆栈跟踪: #0 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/Util/Fileloader.php(64): include_once() #1 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/Util/Fileloader.php(48): PHPUnit\Util\Fileloader::load('/home/vagrant/c...') #2 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/Framework/TestSuite.php(325): PHPUnit\Util\Fileloader::checkAndLoad('/home/vagrant/c...') #3 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/Framework/TestSuite.php(403): PHPUnit\Framework\TestSuite->addTestFile('/home/vagrant/c...') #4 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php(65): PHPUnit\Framework\TestSuite->addTestFiles(数组) #5 /home/vagrant/code/phirater-l51/vendor/phpunit/phpunit/src/TextUI/Command.php(169): PHPUnit\Runner\BaseTestRunner->getTest('tes 在 /home/vagrant/code/phirater-l51/tests/unit/Phirater/AdditionalCurrency/CreateAdditionalCurrencyCommandHandlerTest.php 11号线

我的单元测试位于

tests/
目录中。我的
UnitTestCase
课程由
\TestCase
课程扩展,而
TestCase
课程由
BrowserKitTestCase
扩展。我在这里做错了什么?有什么解决办法吗?

php unit-testing laravel-5 composer-php phpunit
1个回答
1
投票

如果您的依赖类确实存在并且具有正确的命名空间,那么提到的错误最可能的原因是(避免将以下示例复制到您的项目中,这肯定不起作用):

  • composer.json文件(根目录)没有相关依赖记录(不要忘记composer.lock文件),类似:

    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    
  • 由于上述原因,vendor/autoload.php文件(或其任何合并的兄弟文件,例如vendor/composer/autoload_classmap.php,具体取决于您的情况)可能会丢失依赖项的相关记录,例如:

      return array(
          'PHPUnit\\Framework\\TestCase' => '/vendor/phpunit/phpunit/src/Framework/TestCase.php',
    

在大多数此类情况下,它实际上是由 autoload.php 功能提供的缺失依赖项,而这又是由 composer 故障引起的。因此,考虑到所有这些,尝试通过运行 composer self-update 来更新

composer
本身,然后通过
composer update
更新您的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.