Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menggunakan Codeception untuk ujian berfungsi dalam php?

Bagaimana untuk menggunakan Codeception untuk ujian berfungsi dalam php?

WBOY
Lepaskan: 2023-05-31 20:54:01
asal
1049 orang telah melayarinya

Dalam proses pembangunan aplikasi web moden, ujian fungsian merupakan aspek penting untuk memastikan kualiti aplikasi. Codeception ialah rangka kerja ujian PHP popular yang menyediakan API ringkas dan sintaks yang mudah difahami untuk membantu kami menulis ujian fungsi web yang cekap. Artikel ini akan memperkenalkan cara menggunakan Codeception untuk ujian berfungsi.

1. Pasang Codeception

Pertama, kita perlu memasang Codeception. Codeception menyokong beberapa cara untuk memasang, termasuk Komposer, pakej phar dan muat turun manual. Di sini kami menggunakan Composer untuk memasang, cuma laksanakan arahan berikut:

composer require codeception/codeception --dev
Salin selepas log masuk

Selepas pemasangan selesai, kami boleh menjana fail konfigurasi codeception.yml dalam direktori akar projek:

./vendor/bin/codecept bootstrap
Salin selepas log masuk

2. Tulis kes ujian

  1. Buat kes ujian

Kes ujian dalam Codeception dibahagikan kepada tahap yang berbeza, termasuk ujian unit, ujian integrasi dan ujian berfungsi. Dalam artikel ini, kami memberi tumpuan kepada ujian fungsian.

Buat suite ujian bernama FunctionalTests menggunakan arahan berikut:

./vendor/bin/codecept generate:suite functional
Salin selepas log masuk

Dalam direktori kes ujian, folder FunctionalTests yang mengandungi kes ujian akan dijana secara automatik.

  1. Lawati halaman web

Seterusnya, kita perlu menentukan halaman web yang ingin kita uji. Gunakan arahan berikut untuk menjana fail kes ujian Sebagai contoh, halaman web yang ingin kami uji ialah http://example.com:

./vendor/bin/codecept generate:cept functional ExampleTest
Salin selepas log masuk

Dalam fail kes ujian yang dijana, kami boleh menggunakan kaedah $I->amOnPage untuk mengakses. halaman web:

<?php 
$I = new FunctionalTester($scenario);
$I->amOnPage('http://example.com');
$I->see('Hello, world!');
Salin selepas log masuk

Dalam kes ujian ini, kami menggunakan kaedah $I->amOnPage untuk membuka halaman web. Kemudian, kami menggunakan kaedah $I->see untuk menyemak sama ada teks Hello, world! wujud dalam halaman web.

  1. Interaksi pengguna

Jika fungsi yang ingin kami uji memerlukan interaksi pengguna, kami perlu menggunakan kaedah yang disediakan oleh Codeception untuk mensimulasikan operasi pengguna. Sebagai contoh, kami ingin memasukkan teks ke dalam halaman web:

<?php 
$I = new FunctionalTester($scenario);
$I->amOnPage('http://example.com');
$I->fillField('username', 'testuser');
$I->click('Submit');
$I->see('Welcome, testuser!');
Salin selepas log masuk

Dalam kes ujian ini, kami menggunakan kaedah $I->fillField untuk mengisi medan borang username. Kemudian, kami menggunakan kaedah $I->click untuk mensimulasikan pengguna mengklik butang Submit. Akhir sekali, kami menggunakan kaedah $I->see untuk menyemak sama ada teks Welcome, testuser! wujud dalam halaman web.

  1. Pengujian Pangkalan Data

Jika aplikasi kami perlu berinteraksi dengan pangkalan data, kami perlu menggunakan fungsi ujian pangkalan data yang disediakan oleh Codeception. Dalam kes ujian, kita boleh menggunakan kaedah $I->haveInDatabase untuk menambah data pada pangkalan data dan kaedah $I->seeInDatabase untuk menyemak sama ada data itu wujud.

Sebagai contoh, fungsi yang ingin kami uji ialah menambah rekod pengguna pada pangkalan data:

<?php 
$I = new FunctionalTester($scenario);
$I->amOnPage('http://example.com/create-user.php');
$I->fillField('username', 'testuser');
$I->fillField('password', 'testpassword');
$I->click('Submit');
$I->seeInDatabase('users', ['username' => 'testuser']);
Salin selepas log masuk

Dalam kes ujian ini, kami menggunakan kaedah $I->haveInDatabase untuk menambah rekod pengguna ke jadual users Rekod. Kami kemudian menggunakan kaedah $I->seeInDatabase untuk menyemak sama ada terdapat rekod dengan medan username testuser.

3. Laksanakan kes ujian

Selepas menulis kes ujian, kita perlu melaksanakan kes ujian. Jalankan arahan berikut untuk menjalankan semua kes ujian:

./vendor/bin/codecept run
Salin selepas log masuk

Jika kita hanya mahu menjalankan FunctionalTests suite ujian, kita boleh menggunakan arahan berikut:

./vendor/bin/codecept run functional
Salin selepas log masuk

4. Ringkasan

Gunakan Ujian Fungsi Codeception membantu kami memastikan kualiti aplikasi. Dalam artikel ini, kami belajar cara menulis kes ujian dan melaksanakannya. Codeception menyediakan API ringkas dan sintaks yang mudah difahami, yang boleh membantu kami menulis ujian fungsi web yang cekap dengan cepat.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Codeception untuk ujian berfungsi dalam php?. 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