Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan PHP: Cara menggunakan Codeception untuk melaksanakan ujian automatik

Pembangunan PHP: Cara menggunakan Codeception untuk melaksanakan ujian automatik

WBOY
WBOYasal
2023-06-15 08:24:58642semak imbas

Dengan perkembangan pesat pembangunan perisian, ujian automatik telah menjadi bahagian yang tidak boleh digantikan dalam pasukan teknikal. Ujian jenis ini boleh membantu pasukan menemui dan menyelesaikan pelbagai masalah perisian semasa proses pembangunan awal. Codeception ialah rangka kerja ujian automatik popular yang berfungsi dengan persekitaran PHP dan menyediakan API yang mudah digunakan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Codeception untuk melaksanakan ujian automatik dalam projek PHP anda.

Tinjauan keseluruhan rangka kerja Codeception

Codeception ialah rangka kerja ujian automatik popular yang menyediakan cara yang mudah dan cekap untuk menulis, menjalankan dan mengurus ujian automatik untuk aplikasi PHP.

Rangka kerja Codeception mengandungi berbilang jenis ujian yang disokong pada masa ini termasuk:

  1. Ujian unit: digunakan untuk menguji satu komponen dalam aplikasi
  2. Ujian integrasi. : digunakan untuk menguji logik antara komponen dan komponen lain
  3. Ujian antara muka: digunakan untuk menguji antara muka API RESTful dalam aplikasi
  4. Ujian fungsional: digunakan untuk menguji antara muka API RESTful dalam aplikasi Penuh Ciri

Rangka kerja pengekodan mempunyai API yang mudah digunakan yang memudahkan untuk membuat kod ujian dan senario ujian. Ia juga menyediakan banyak ciri berguna seperti tetapan semula pangkalan data, ujian penyemak imbas dengan Selenium, dsb.

Pasang rangka kerja Codeception

Sebelum anda mula menggunakan rangka kerja Codeception, anda perlu memasangnya dalam projek PHP anda. Ia boleh dipasang melalui Composer, pengurus pergantungan untuk PHP.

  1. Buka Terminal dan tukar ke folder akar projek PHP anda
  2. Jalankan arahan berikut untuk memasang rangka kerja Codeception
composer require --dev codeception/codeception

Arahan di atas akan simpannya daripada Packagist Pasang rangka kerja Codeception ke dalam projek PHP anda.

Buat senario ujian

Dalam rangka kerja Codeception, senario ujian ialah tahap tertinggi skrip ujian. Senario terdiri daripada satu set kes ujian yang berfungsi bersama untuk menguji gelagat berbeza aplikasi anda dalam situasi berbeza.

Anda boleh mencipta senario ujian asas menggunakan penjana yang disediakan oleh Codeception, yang boleh menjana kod ujian dan senario ujian dengan cepat.

  1. Dalam Terminal, tukar ke folder akar projek PHP anda dan jalankan arahan berikut:
vendor/bin/codecept generate:cest acceptance FirstTest

Arahan di atas akan mencipta Fail bernama tests/acceptance. Fail ini mengandungi senario ujian utama. FirstTestCest.php

    Gunakan arahan berikut untuk menjana kes ujian:
  1. vendor/bin/codecept generate:cest acceptance FirstTest --test testName
Arahan di atas akan mencipta fail bernama

dalam direktori tests/acceptance dan meletakkannya di dalam Tambah kes ujian bernama FirstTestCest.php. testName

Menulis Kod Ujian

Setelah anda mencipta senario ujian dan kes ujian, tiba masanya untuk menulis kod ujian.

Berikut ialah contoh yang menunjukkan cara menggunakan API Codeception dalam skrip ujian:

<?php

class FirstTestCest
{
    public function _before(AcceptanceTester $I)
    {
        $I->amOnPage('/');
    }

    public function testHomePageContent(AcceptanceTester $I)
    {
        $I->see('Welcome to my site', 'h1');
        $I->see('About', 'a');
        $I->click('About');
        $I->see('About Us', 'h1');
    }
}

Contoh kod di atas menggambarkan cara menulis skrip ujian automatik dalam rangka kerja Codeception.

Dalam kod di atas, kaedah

digunakan untuk menyediakan persekitaran sebelum ujian Di sini kami membenarkan tapak web ujian membuka halaman utama (_before). Kemudian, kaedah / digunakan untuk menguji kandungan tapak web, yang menyemak sama ada ia mengandungi teg testHomePageContent dan teks pautan h1 dsb. Ambil perhatian bahawa dalam ujian ini, menggunakan About akan mensimulasikan pengguna mengklik pautan $I->click('About') pada halaman dan menyemak sama ada teg 关于 pautan dipaparkan dengan betul. h1

Jalankan senario ujian

Setelah anda menulis kod ujian, anda boleh menggunakan arahan berikut untuk menjalankan ujian:

vendor/bin/codecept run acceptance

Arahan di atas akan menggunakan konfigurasi lalai fail untuk menjalankan ujian bernama Semua kes ujian dalam senario ujian

. Jika anda ingin menjalankan ujian dalam kes ujian tertentu, anda boleh menggunakan arahan berikut: acceptance

vendor/bin/codecept run acceptance --test testName

Jika anda ingin menjalankan berbilang senario ujian, anda boleh menggunakan arahan berikut:

vendor/bin/codecept run acceptance, functional

Menjalankan arahan di atas akan menjalankan arahan bernama Semua kes ujian dalam senario ujian untuk

dan acceptance. functional

Kesimpulan

Rangka kerja pengekodan ialah alat ujian automatik popular yang menyediakan API yang mudah digunakan dan menyediakan sokongan untuk pelbagai jenis ujian dalam projek PHP.

Menggunakan rangka kerja Codeception, anda boleh membuat kes ujian dan senario ujian dengan cepat serta menggunakan fail konfigurasi lalai untuk menyediakan persekitaran ujian.

Menjalankan kes ujian adalah sangat mudah, anda hanya perlu menggunakan arahan yang betul dalam terminal.

Menulis ujian automatik untuk projek PHP adalah sangat penting kerana ia membantu anda mencari dan membetulkan kecacatan perisian semasa proses pembangunan. Menggunakan rangka kerja Codeception, anda boleh melakukan ujian automatik dengan mudah dan cekap.

Atas ialah kandungan terperinci Pembangunan PHP: Cara menggunakan Codeception untuk melaksanakan ujian automatik. 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