Rumah > rangka kerja php > ThinkPHP > Bagaimana untuk melakukan ujian antara muka dalam ThinkPHP6?

Bagaimana untuk melakukan ujian antara muka dalam ThinkPHP6?

王林
Lepaskan: 2023-06-12 12:31:40
asal
1615 orang telah melayarinya

Dengan perkembangan pesat teknologi Internet, ujian antara muka semakin menjadi bahagian yang amat diperlukan dalam proses pembangunan perisian. ThinkPHP6 ialah rangka kerja pembangunan PHP yang sangat popular Semasa menjalankan ujian antara muka, kami boleh menggunakan rangka kerja ujian PHPUnit untuk ujian. Artikel ini akan memperkenalkan secara terperinci cara menjalankan ujian antara muka dalam ThinkPHP6, supaya anda boleh menjalankan ujian dengan lebih mudah.

1. Pasang PHPUnit

Memandangkan PHPUnit ialah rangka kerja ujian pihak ketiga, kami perlu memasang PHPUnit terlebih dahulu. Kita boleh memasang PHPUnit dengan memasang Komposer:

  1. Buka terminal atau antara muka baris arahan dan masukkan arahan berikut untuk memasang Komposer:
$ curl -sS https://getcomposer.org/installer | php
Salin selepas log masuk
  1. Pasang PHPUnit:
$ php composer.phar require phpunit/phpunit
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh memulakan ujian antara muka.

2. Tulis kes ujian

Dalam ThinkPHP6, kita boleh menulis kes ujian dalam folder ujian. Seterusnya, kami mula-mula mencipta folder kes ujian:

$ mkdir tests/TestCase
Salin selepas log masuk

Kemudian, cipta fail kes ujian ApiTest.php di bawah folder TestCase:

$ touch tests/TestCase/ApiTest.php
Salin selepas log masuk

Kemudian, kami boleh mencipta fail kes ujian ApiTest. php dalam fail ApiTest.php Tulis kes ujian antara muka yang mudah. Andaikan bahawa antara muka yang ingin kami uji ialah /api/user/info dan mengembalikan beberapa maklumat tentang pengguna. Kami boleh menulis kes ujian berikut:

<?php

namespace testsTestCase;

use PHPUnitFrameworkTestCase;

class ApiTest extends TestCase
{
    public function testGetUserInfo()
    {
        $url = 'http://localhost/api/user/info';
        $response = file_get_contents($url);
        $this->assertStringContainsString('user_name', $response);
        $this->assertStringContainsString('user_email', $response);
    }
}
Salin selepas log masuk

Dalam kes ujian ini, kami menggunakan kaedah assertStringContainsString yang disertakan dengan PHPUnit untuk menyemak sama ada maklumat pengguna yang dikembalikan mengandungi dua medan nama_pengguna dan e-mel pengguna. Jika kedua-dua medan hadir, ujian itu lulus.

3 Konfigurasikan persekitaran ujian

Sebelum menjalankan ujian antara muka, kita perlu mengkonfigurasi persekitaran ujian terlebih dahulu. Seterusnya, kami mengambil mengkonfigurasi persekitaran ujian sebagai contoh untuk memperkenalkan secara terperinci cara mengkonfigurasi persekitaran ujian dalam ThinkPHP6.

Pertama, kita perlu mencipta pangkalan data ujian untuk menyimpan data ujian. Kita boleh melaksanakan arahan berikut dalam MySQL untuk mencipta pangkalan data:

$ mysql -u root -p
mysql> CREATE DATABASE test;
Salin selepas log masuk

Kemudian, kita perlu mengubah suai fail konfigurasi pangkalan data dan mengkonfigurasi maklumat sambungan pangkalan data kepada maklumat sambungan pangkalan data yang baru kita buat. Kami boleh mengubah suai maklumat pangkalan data dalam fail config/database.php:

return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'test',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '',
    // 端口
    'hostport'        => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => '',
    // 数据库调试模式
    'debug'           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 自动写入时间戳字段
    'auto_timestamp'  => false,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
];
Salin selepas log masuk

Seterusnya, tambah kandungan berikut pada fail phpunit.xml:

<!-- 数据库配置 -->
<php>
    <env name="DB_TYPE" value="mysql" />
    <env name="DB_HOST" value="127.0.0.1" />
    <env name="DB_NAME" value="test" />
    <env name="DB_USER" value="root" />
    <env name="DB_PASS" value="" />
</php>
Salin selepas log masuk

Dengan cara ini, kita boleh Gunakan pangkalan data ujian untuk ujian.

4. Jalankan ujian

Selepas persekitaran ujian dikonfigurasikan, kami boleh menjalankan ujian. Kita boleh memasukkan direktori akar projek dalam antara muka baris arahan dan masukkan arahan berikut untuk menjalankan ujian:

$ ./vendor/bin/phpunit tests/TestCase/ApiTest.php
Salin selepas log masuk

Jika kes ujian berjalan dengan jayanya, maklumat berikut akan dikeluarkan:

PHPUnit 9.5.2 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 00:00.012, Memory: 6.00 MB

OK (1 test, 2 assertions)
Salin selepas log masuk

Ini menerangkan antara muka kami Kes ujian telah lulus ujian. Jika ujian gagal, PHPUnit akan mengeluarkan maklumat ralat yang berkaitan, dan kami boleh membuat pembaikan berdasarkan maklumat ralat.

5 Ringkasan

Artikel ini memperkenalkan secara terperinci cara menjalankan ujian antara muka dalam ThinkPHP6, daripada memasang PHPUnit kepada menulis kes ujian, untuk mengkonfigurasi persekitaran ujian dan menjalankan ujian, semuanya dijelaskan satu. oleh seorang. Saya harap artikel ini dapat membantu pembaca yang memerlukan dan menjadikan semua orang lebih santai dan gembira semasa menjalankan ujian antara muka.

Atas ialah kandungan terperinci Bagaimana untuk melakukan ujian antara muka dalam ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan