首页主机资讯Laravel在Ubuntu上如何实现自动化测试

Laravel在Ubuntu上如何实现自动化测试

时间2025-11-19 14:01:03发布访客分类主机资讯浏览1001
导读:在 Ubuntu 上为 Laravel 项目实现自动化测试,您需要遵循以下步骤: 安装依赖项 首先,确保您已经安装了 PHP、Composer 和 PHPUnit。在终端中运行以下命令来安装它们: sudo apt-get update...

在 Ubuntu 上为 Laravel 项目实现自动化测试,您需要遵循以下步骤:

  1. 安装依赖项

首先,确保您已经安装了 PHP、Composer 和 PHPUnit。在终端中运行以下命令来安装它们:

sudo apt-get update
sudo apt-get install php php-cli php-mbstring php-xml php-zip php-curl php-sqlite3 unzip
composer global require phpunit/phpunit
  1. 配置环境变量

将 Composer 的全局 bin 目录添加到您的 PATH 环境变量中。在您的 ~/.bashrc~/.zshrc 文件中添加以下行:

export PATH="$HOME/.composer/vendor/bin:$PATH"

然后运行 source ~/.bashrcsource ~/.zshrc 使更改生效。

  1. 创建基本测试类

在 Laravel 项目中,您可以在 tests 目录下创建一个新的测试类。例如,创建一个名为 ExampleTest.php 的文件,并添加以下内容:

<
    ?php

namespace Tests\Unit;
    

use Tests\TestCase;


class ExampleTest extends TestCase
{

    public function test_example()
    {
    
        $this->
    assertTrue(true);

    }

}
    
  1. 运行测试

要运行测试,您可以使用以下命令:

vendor/bin/phpunit

这将运行 tests 目录下的所有测试用例。

  1. 编写功能测试

Laravel 提供了一个内置的功能测试类 TestCase,它继承了 Symfony 的 WebTestCase 类。这使得您可以轻松地模拟 HTTP 请求并测试应用程序的响应。

例如,创建一个名为 FeatureTest.php 的文件,并添加以下内容:

<
    ?php

namespace Tests\Feature;
    

use Illuminate\Foundation\Testing\RefreshDatabase;
    
use Tests\TestCase;


class FeatureTest extends TestCase
{
    
    use RefreshDatabase;


    public function test_example_test()
    {
    
        $response = $this->
    get('/');
    

        $response->
    assertStatus(200);

    }

}
    

在这个例子中,我们使用 get 方法模拟了一个 GET 请求,并使用 assertStatus 方法检查响应状态码是否为 200。

  1. 配置 PHPUnit

您可以通过在项目根目录下创建一个名为 phpunit.xml 的文件来自定义 PHPUnit 的配置。例如:

<
    ?xml version="1.0" encoding="UTF-8"?>
    
<
    phpunit bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="false">
    
    <
    testsuites>
    
        <
    testsuite name="Laravel Application Test Suite">
    
            <
    directory suffix="Test.php">
    ./tests<
    /directory>
    
        <
    /testsuite>
    
    <
    /testsuites>
    
    <
    filter>
    
        <
    whitelist processUncoveredFilesFromWhitelist="true">
    
            <
    directory suffix="Model.php">
    ./app<
    /directory>
    
        <
    /whitelist>
    
    <
    /filter>
    
<
    /phpunit>
    

现在,您可以使用 vendor/bin/phpunit 命令运行自定义配置的 PHPUnit 测试。

  1. 集成测试

您还可以使用 Laravel Dusk 进行端到端浏览器测试。首先,您需要安装 Laravel Dusk 和相应的浏览器驱动程序。以 Chrome 为例:

composer require --dev laravel/dusk
sudo apt-get install -y chromium-browser

接下来,发布 Dusk 配置文件:

php artisan vendor:publish --provider="Laravel\Dusk\DuskServiceProvider"

现在,您可以编写 Dusk 测试用例并将其放在 tests/DuskTestCase.php 文件中。例如:

<
    ?php

namespace Tests\Dusk;
    

use App\Providers\RouteServiceProvider;
    
use Illuminate\Foundation\Testing\RefreshDatabase;
    
use Tests\DuskTestCase as TestCase;


class ExampleTest extends TestCase
{
    
    use RefreshDatabase;


    public function test_example_test()
    {
    
        $this->
browse(function ($browser) {
    
            $browser->
    visit(new RouteServiceProvider())
                    ->
    see('Welcome to Laravel');

        }
    );

    }

}
    

要运行 Dusk 测试,请使用以下命令:

vendor/bin/dusk

遵循这些步骤,您可以在 Ubuntu 上为 Laravel 项目实现自动化测试。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Laravel在Ubuntu上如何实现自动化测试
本文地址: https://pptw.com/jishu/751148.html
Linux OpenSSL如何实现端到端加密通信 OpenSSL命令行在Linux上怎么用

游客 回复需填写必要信息