Bagaimana untuk menggunakan Codeception dengan CakePHP?

WBOY
Lepaskan: 2023-06-04 08:20:02
asal
1160 orang telah melayarinya

CakePHP ialah rangka kerja aplikasi web sumber terbuka berdasarkan PHP yang boleh membantu pembangun membina aplikasi web dengan cepat. Codeception ialah rangka kerja ujian yang berkuasa yang boleh membantu pembangun menjalankan ujian automatik. Artikel ini akan memperkenalkan cara menggunakan Codeception untuk ujian dalam CakePHP.

  1. Pasang Codeception

Mula-mula, anda perlu memasang Codeception. Ia boleh dipasang melalui Composer, jalankan arahan berikut:

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

Jika anda memerlukan modul lain, anda boleh memasangnya seperti berikut:

composer require --dev codeception/module-webdriver
composer require --dev codeception/module-db
composer require --dev codeception/module-asserts
Salin selepas log masuk
  1. Initialize Codeception

Selepas memasang Codeception, anda perlu melaksanakan arahan berikut dalam direktori akar aplikasi CakePHP untuk memulakan Codeception:

vendor/bin/codecept init
Salin selepas log masuk

Selepas melaksanakan arahan, akan ada satu siri soalan interaktif yang perlu menjawab. Sebagai contoh, anda perlu memilih jenis ujian, lokasi penyimpanan fail ujian, dsb.

  1. Ujian penulisan

Codeception menyediakan tahap ujian yang berbeza. Dalam CakePHP, anda boleh menggunakan ujian berfungsi untuk menguji sama ada aplikasi berfungsi seperti yang diharapkan. Ujian fungsional mensimulasikan interaksi pengguna dengan aplikasi, seperti mengisi borang, mengklik pautan, dsb. Berikut ialah sampel ujian:

<?php 
$I = new FunctionalTester($scenario);
$I->wantTo('ensure that login works');
$I->amOnPage('/');
$I->click('Login');
$I->seeCurrentUrlEquals('/users/login');
$I->fillField('username', 'testuser');
$I->fillField('password', 'testpass');
$I->click('Login');
$I->seeCurrentUrlEquals('/dashboard');
$I->see('Welcome, testuser');
Salin selepas log masuk

Sampel ujian di atas cuba mensimulasikan log masuk pengguna dan mengesahkan sama ada ia berjaya. Simulasikan tingkah laku pengguna melalui $I->amOnPage() dan $I->click(), dan kemudian sahkan sama ada ia memenuhi jangkaan melalui $I->see() dan $I->seeCurrentUrlEquals().

  1. Jalankan ujian

Selepas menulis ujian, anda boleh menggunakan arahan berikut untuk menjalankan ujian:

vendor/bin/codecept run
Salin selepas log masuk

Jika anda ingin menjalankan ujian ujian yang ditentukan, anda boleh menggunakan arahan berikut :

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

Antaranya, MyFirstTestCest ialah nama fail ujian. Jika anda hanya mahu menjalankan kaedah ujian tertentu, anda boleh menggunakan arahan berikut:

vendor/bin/codecept run functional MyFirstTestCest:testLogin
Salin selepas log masuk

di mana testLogin ialah nama kaedah ujian.

  1. Codeception dan PHPUnit

CakePHP menggunakan PHPUnit secara lalai untuk ujian unit. Codeception juga berdasarkan PHPUnit, jadi ia juga boleh dianggap sebagai kaedah ujian. Keindahan Codeception ialah ia memudahkan menulis, menjalankan dan mengurus ujian.

Jika anda perlu menggunakan PHPUnit dan Codeception dalam CakePHP pada masa yang sama, anda boleh menambah kod berikut pada fail phpunit.xml untuk menjalankan ujian Codeception:

<testsuites>
    <testsuite name="cake">
        <directory>./tests/TestCase/</directory>
        <directory>./vendor/codeception/codeception/tests/unit/</directory>
    </testsuite>
</testsuites>
Salin selepas log masuk

Kod di atas akan juga digunakan semasa menjalankan ujian PHPUnit Termasuk menjalankan ujian Codeception.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Codeception untuk ujian dalam CakePHP. Codeception menyediakan pelbagai fungsi ujian, seperti ujian berfungsi, ujian hujung ke hujung, ujian API, dll., yang boleh membantu kami menguji aplikasi secara lebih menyeluruh. Pada masa yang sama, Codeception adalah mudah untuk digunakan dan mudah untuk dimulakan, yang boleh meningkatkan kecekapan ujian.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Codeception dengan CakePHP?. 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