Laravel 8 不运行新创建的测试,也不选取已删除的测试

作者:编程家 分类: laravel 时间:2025-08-18

Laravel 8 是一款功能强大的 PHP 框架,用于快速开发现代化的 Web 应用程序。其中一个重要的功能是测试,它可以帮助开发人员确保代码的质量和稳定性。然而,有时候我们可能遇到一些问题,比如新创建的测试不运行,或者已删除的测试仍然被选取。本文将探讨如何解决这些问题,并提供相关的案例代码。

首先,让我们来看看为什么新创建的测试不运行的问题。通常情况下,Laravel 8 使用 PHPUnit 来运行测试。当我们创建一个新的测试类时,需要确保它满足一些基本的要求。首先,我们需要继承 `TestCase` 类,该类位于 `Tests` 目录下。其次,我们需要使用 `test` 方法来定义测试方法。最后,我们需要使用 `php artisan test` 命令来运行测试。

下面是一个示例代码,演示了如何创建一个简单的测试类:

php

namespace Tests\Unit;

use Tests\TestCase;

class ExampleTest extends TestCase

{

public function test_example()

{

$this->assertTrue(true);

}

}

在上面的示例中,我们创建了一个名为 `ExampleTest` 的测试类,并定义了一个名为 `test_example` 的测试方法。该测试方法使用了 `assertTrue` 断言,以确保条件为真。

现在,让我们来解决已删除的测试仍然被选取的问题。有时候,我们可能会删除一些测试类或测试方法,但它们仍然出现在测试运行结果中。这通常是因为 Laravel 8 使用了测试缓存,它会缓存测试类和测试方法的列表,以提高测试的运行速度。为了解决这个问题,我们可以使用 `--no-cache` 选项来运行测试,这样会忽略缓存并重新加载测试类和测试方法的列表。

以下是一个示例代码,演示了如何使用 `--no-cache` 选项运行测试:

bash

php artisan test --no-cache

在上面的示例中,我们使用 `--no-cache` 选项来运行测试,以确保已删除的测试不会被选取。

解决新创建测试不运行和已删除测试被选取的问题

在本文中,我们介绍了如何解决 Laravel 8 中新创建的测试不运行和已删除的测试被选取的问题。我们首先学习了创建测试类的基本要求,然后提供了一个示例代码来演示如何创建一个简单的测试类。接着,我们介绍了使用 `--no-cache` 选项来运行测试,以确保已删除的测试不会被选取。希望本文能够帮助您解决相关的问题,并提高您的测试效率。

Laravel 8 提供了强大的测试功能,可以帮助开发人员确保代码的质量和稳定性。在本文中,我们讨论了新创建的测试不运行和已删除的测试被选取的问题,并提供了相应的解决方案。通过遵循基本的测试类创建要求,并使用 `--no-cache` 选项运行测试,我们可以解决这些问题,并提高测试的效率。

希望本文对您有所帮助,祝您在使用 Laravel 8 进行测试时取得成功!