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:
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar require phpunit/phpunit
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
Kemudian, cipta fail kes ujian ApiTest.php di bawah folder TestCase:
$ touch tests/TestCase/ApiTest.php
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); } }
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;
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, ];
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>
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
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)
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!