Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kes ujian fungsi pertanyaan PHP

Kes ujian fungsi pertanyaan PHP

王林
王林asal
2023-05-07 13:18:08784semak imbas

Sebagai pembangun, menulis kod fungsi pertanyaan tidak bermakna tugasan telah selesai juga diperlukan untuk memastikan ketepatan dan kebolehpercayaan kod. Artikel ini akan menulis kes ujian untuk fungsi pertanyaan PHP untuk membantu pembangun lebih memahami dan meningkatkan kualiti kod.

1. Apakah kes ujian?

Kes ujian ialah satu set ujian unit yang digunakan oleh pembangun untuk memastikan kod itu mematuhi spesifikasi. Kes ujian boleh digunakan untuk ujian automatik Gunakan kes ujian untuk menguji kod sebelum melaksanakannya atau menggunakan kod ke persekitaran pengeluaran untuk memastikan kod berfungsi dengan baik dalam pelbagai keadaan dan tidak menyebabkan pengecualian.

Sebagai contoh, katakan kita ingin menulis fungsi yang menanyakan pangkalan data Kes ujian boleh mensimulasikan pelbagai input data untuk menguji output fungsi. Ini akan membantu kami memastikan kefungsian konsisten dengan hasil yang diingini dan menghapuskan pepijat dan pepijat dalam kod.

2. Kes Ujian: Persediaan

Sebelum menulis kes ujian, kita perlu menyediakan persekitaran ujian dan fungsi pertanyaan PHP yang perlu diuji. Terdapat dua fungsi pertanyaan PHP biasa yang tersedia untuk ujian, mengambil mysqli sebagai contoh:

//连接数据库
$connect = mysqli_connect("localhost","username","password");
//选择数据库
mysqli_select_db($connect,"databasename");
//查询数据
$result = mysqli_query($connect,"SELECT * FROM table_name");

Contoh kes ujian satu:

Kes ujian satu menyemak sama ada sambungan kami berfungsi dengan betul. Kita boleh memasukkan beberapa parameter yang salah sesuka hati untuk menguji sama ada sambungan akan gagal disebabkan oleh parameter yang salah.

//测试用例一:连接测试
public function test_connection() {
    $host = 'localhost';
    $username = 'root';
    $password = '';
    $database = 'test';

    //测试1:错误的主机名
    $conn = mysqli_connect('error', $username, $password, $database);
    $this->assertFalse($conn);

    //测试2:错误的用户名
    $conn = mysqli_connect($host, 'error', $password, $database);
    $this->assertFalse($conn);

    //测试3:错误的密码
    $conn = mysqli_connect($host, $username, 'error', $database);
    $this->assertFalse($conn);

    //测试4:错误的数据库
    $conn = mysqli_connect($host, $username, $password, 'error');
    $this->assertFalse($conn);

    //测试5:成功连接
    $conn = mysqli_connect($host, $username, $password, $database);
    $this->assertTrue($conn !== false);
}

Contoh kes ujian dua:

Kes uji dua menyemak sama ada pernyataan pertanyaan boleh dilaksanakan dengan jayanya dan mengembalikan data yang betul. Kami boleh memasukkan sebarang data untuk menyemak sama ada pernyataan pertanyaan berfungsi dengan betul.

//测试用例二:数据查询
public function test_data_query() {
    //连接数据库
    $host = 'localhost';
    $username = 'root';
    $password = '';
    $database = 'test';
    $mysqli = mysqli_connect($host, $username, $password, $database);

    //插入测试数据
    mysqli_query($mysqli, "INSERT INTO `users`(`id`, `name`, `email`) VALUES (1,'Bob','bob@test.com')");
    mysqli_query($mysqli, "INSERT INTO `users`(`id`, `name`, `email`) VALUES (2,'Alice','alice@test.com')");

    //测试1:查询全部数据是否正确
    $result = mysqli_query($mysqli, "SELECT * FROM `users`");
    $this->assertEquals(mysqli_num_rows($result), 2);

    //测试2:查询指定条件的人是否正确
    $result = mysqli_query($mysqli, "SELECT * FROM `users` WHERE `name` = 'Bob'");
    $this->assertEquals(mysqli_num_rows($result), 1);

    //测试3:查询不存在的数据是否返回空结果集
    $result = mysqli_query($mysqli, "SELECT * FROM `users` WHERE `name` = 'John'");
    $this->assertEquals(mysqli_num_rows($result), 0);

    mysqli_close($mysqli);
}

Di atas adalah dua contoh kes ujian asas Kami boleh menulis lebih banyak kes ujian mengikut keperluan untuk menguji kod dengan lebih komprehensif dan memastikan kualiti kod.

3. Kes Ujian: Nota

Apabila menulis kes ujian, anda perlu memberi perhatian kepada perkara berikut:

  1. Proses mengosongkan persekitaran ujian untuk memastikan setiap ujian linear tidak akan menjejaskan satu sama lain.
  2. Kes ujian sebaiknya meliputi semua situasi yang mungkin dihadapi oleh pernyataan pertanyaan.
  3. Kes ujian harus menyediakan data input yang betul dan data output yang dijangkakan (atau pengecualian).
  4. Cuba gunakan alat semakan liputan kod untuk menyemak liputan setiap kes ujian.

5 Ringkasan kes ujian

Pengujian kod yang baik boleh meningkatkan kualiti kod malah membantu pembangun lebih memahami data input dan output yang diperlukan oleh kod. Untuk sistem yang kompleks, liputan ujian yang lebih baik boleh meningkatkan kebolehpercayaan sistem.

Di sini, kami bermula daripada prinsip asas kes ujian kepada aplikasi praktikal Dalam proses menulis kes ujian fungsi pertanyaan PHP, kami bukan sahaja boleh menjadikan kod lebih dipercayai, tetapi juga meningkatkan kecekapan pembangunan.

Akhir sekali, saya berharap artikel ini dapat membantu pembangun meningkatkan kecekapan dan ketepatan penguji semasa ujian API atau fungsi.

Atas ialah kandungan terperinci Kes ujian fungsi pertanyaan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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