Saya memiliki kelas pengujian di bawah ini, dan saya ingin menjalankan hanya satu pengujian darinya, misalnya "aboutPage". Ada ide bagaimana?
Beginilah cara saya menjalankan file ini:
codecept run tests/acceptance/VisitorCest.php
Tapi sekarang saya hanya ingin menjalankan satu tes dari file tersebut.
<?php
use \AcceptanceTester;
class VisitorCest
{
public function _before(){}
public function _after(){}
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
public function contactPage(AcceptanceTester $I)
{
$I->wantTo('check contact page');
}
}
php
codeception
Tzook Bar Noy
sumber
sumber
.php
ekstensi nama file, seperti ini:codecept run -- -c frontend unit models/ContactFormTest:testSendEmail
myTestName
tidak harus nama tes lengkap juga. Ini akan menjalankan tes apa pun dengan kecocokan parsialinilah yang berhasil:
codecept jalankan {suite-name} {file-name} .php: {function-name}
perhatikan spasi antara suite-name dan file-name
sumber
.php
bagian.Selain jawaban yang diberikan oleh @Tzook Bar Noy, Anda dapat menambahkan trailing
$
jika ada beberapa tes yang dimulai dengan nama yang sama . Perhatikan contoh berikut:<?php use \AcceptanceTester; class VisitorCest { public function aboutPage(AcceptanceTester $I) { } public function aboutPageOption(AcceptanceTester $I) { } }
Di mana perintah berikut akan menjalankan kedua tes:
Ini hanya akan mengeksekusi yang pertama:
sumber
Cara yang lebih tepat untuk melakukan ini adalah dengan menetapkan anotasi grup untuk kasus uji yang dimaksud. Ini lebih disukai karena alasan berikut; Jika Anda memiliki dua kasus uji misalnya di kelas yang sama VisitorCest;
public function aboutPage public function aboutPage2
Mengeksekusi
akan menjalankan kasus pengujian VisitorCest: aboutPage dan VisitorCest: aboutPage2.
Tetapkan grup untuk kasus uji seperti ini
/** * @group aaa */ public function aboutPage(AcceptanceTester $I) { }
Dan jalankan kasus uji khusus ini seperti ini
codecept run -g aaa
sumber
Selain jawaban sebelumnya, Anda dapat menjalankan satu atau beberapa metode dengan mengelompokkan berdasarkan nama yang diberikan:
/** * @group test-aboutPage */ public function aboutPage(AcceptanceTester $I) { $I->wantTo('check about page'); }
Gunakan opsi
-g
dan nama grup:sumber
Inilah yang saya lakukan.
php codecept.phar run unit UnitNameTest.php
sumber
Jika Anda menggunakan
PHP Yii2 Framework
, maka Anda hanya dapat menjalankan satu pengujian menggunakan perintah ini.Pastikan Anda berada di direktori tes.
sumber
Cept
pengujian hanya berisi satu, tetapi sebuahCest
dapat berisi beberapa pengujian - lihat pertanyaan awalCobalah phpunit --filter {TestMethodName} {FilePath}
sumber