Php 找不到TestCase的laravel致命错误
如果我运行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如何引导并开始
致命错误:在第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
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
}
}