Php 找不到TestCase的laravel致命错误

Php 找不到TestCase的laravel致命错误,php,laravel,Php,Laravel,如果我运行laravel,它会显示以下错误 致命错误:在第3行的D:\xampp\htdocs\laravel\app\tests\ExampleTest.php中找不到类“TestCase”,有什么想法吗(因此PHP所期望的TestCase类没有实际加载。而潜在的问题可能是您试图直接在终端上运行ExampleTest.PHP,而您必须通过Laravel和PHPUnit正确引导测试环境 您应该在Laravel安装的根目录下找到一个phpunit.xml文件。该文件告诉phpunit如何引导并开始

如果我运行laravel,它会显示以下错误


致命错误:在第3行的D:\xampp\htdocs\laravel\app\tests\ExampleTest.php中找不到类“TestCase”,有什么想法吗(因此PHP所期望的
TestCase
类没有实际加载。而潜在的问题可能是您试图直接在终端上运行
ExampleTest.PHP
,而您必须通过Laravel和PHPUnit正确引导测试环境

您应该在Laravel安装的根目录下找到一个phpunit.xml文件。该文件告诉phpunit如何引导并开始执行应用程序的测试,因此您应该能够在应用程序根目录下的命令行上运行
phpunit
,它应该可以工作


如果这不是问题所在,请提供更多详细信息以供帮助。

在项目的根目录中运行以下命令

http://localhost/laravel/app/tests/ExampleTest.php
更新:

如果您的计算机上没有安装phpunit,您也可以使用以下命令运行。这也可以更好地避免队友之间的版本差异

phpunit app/tests/

我也遇到了同样的问题,您应该从根文件夹运行测试,在您的案例“”中,在终端中,您只需要编写phpunit,测试就会执行。

在我的案例中,我注意到我的根文件夹不包含phpunit.xml文件

在根文件夹的phpunit.xml中包含以下代码来解决此问题:

vendor/bin/phpunit

/应用/测试/

检查
tests
目录是否列在
composer.json
文件的
classmap
属性上

如果没有,请添加它并运行
composer dump autoload

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false"
>
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>./app/tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

我也犯了同样的错误,但都没用

除了这个,这对我来说很有用

我尝试在Laravel 5.4中重新安装和升级我的phpunit

  • 修改compose.json->查找这些行并更改phpunit版本

    “需要开发”:{ “phpunit/phpunit”:“~6.4” },

  • 编辑后,在cmd上运行

    作曲家更新

  • 然后跑

    作曲家转储自动加载

  • php artisan配置:清除

  • php artisan缓存:清除

  • 最后,, 运行
    phpunit

  • 或者运行特定的单元,
    phpunit——过滤您的TestCaseClass


    问题是由过时的phpunit引起的。如果您使用的是全局安装的phpunit,这里有一个关于如何更新它的链接。或者您可以显式使用与项目一起安装的phpunit。与phpunit有相同的问题,他将始终输出相同的消息:
    PHP致命错误:找不到类“Tests\TestCase”…
    由此:

    "autoload-dev": {
        "classmap": [
            "tests",
            "database/"
        ]
    },
    

    我的laravel phpunit正在工作,然后突然给了我这个错误。再次运行composer安装解决了这个问题。

    我不相信测试应该以这种方式运行。你应该通过命令行使用phpunit。这让我省去了很多麻烦!我在类映射中添加了测试,然后运行了composer转储。修复了我的问题ems.谢谢!这对我很有效。@ConnorLeech Probably phpunit没有安装在您的计算机上。您可以尝试像“vendor/bin/phpunit”这样运行。这里的问题是您包括phpunit测试用例,而不是laravel测试用例,因此您将错过laravel特定的功能
    <?php
    
    namespace Tests\Feature;
    
    use Tests\TestCase;
    use Illuminate\Foundation\Testing\WithFaker;
    use Illuminate\Foundation\Testing\RefreshDatabase;
    
    class AnotherTest extends TestCase {
        public function testExample() {
            // Do something
        }
    }
    
    <?php
    
    namespace Tests\Feature;
    
    use PHPUnit\Framework\TestCase;
    use Illuminate\Foundation\Testing\WithFaker;
    use Illuminate\Foundation\Testing\RefreshDatabase;
    
    class AnotherTest extends TestCase {
        public function testExample() {
            // Do something
        }
    }