Saya menggunakan phpunit sehubungan dengan jenkins, dan saya ingin melewati tes tertentu dengan mengatur konfigurasi di file XML phpunit.xml
Saya tahu bahwa saya dapat menggunakan di baris perintah:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
bagaimana cara menerjemahkannya ke file XML karena <filters>
tag hanya untuk cakupan kode?
Saya ingin menjalankan semua tes selain testStuffThatAlwaysBreaks
<exclude>
- akan melakukan pekerjaan untuk AndaJawaban:
Cara tercepat dan termudah untuk melewati pengujian yang rusak atau Anda perlu melanjutkannya nanti adalah dengan menambahkan yang berikut ini ke bagian atas pengujian unit individual Anda:
$this->markTestSkipped('must be revisited.');
sumber
static::markTestSkipped('');
bukan$this->
. Ini akan menghasilkan peringatan dalam Versi PHP yang lebih baru. Tanda tangan:public static function markTestSkipped($message = '')
$this->markTestSkipped()
markTestSkipped()
masih merupakan metode statis.Jika Anda dapat menangani mengabaikan seluruh file maka
<?xml version="1.0" encoding="UTF-8"?> <phpunit> <testsuites> <testsuite name="foo"> <directory>./tests/</directory> <exclude>./tests/path/to/excluded/test.php</exclude> ^------------- </testsuite> </testsuites> </phpunit>
sumber
<exclude>
dan 893 tes dengan<exclude>
....... 63 / 893 ( 7%)
@group
anotasi dan tes terpisah menurut sifatnyaTerkadang berguna untuk melewati semua tes dari file tertentu berdasarkan kondisi kustom yang didefinisikan sebagai kode php. Anda dapat dengan mudah melakukannya menggunakan fungsi setUp di mana makeTestSkipped berfungsi juga.
protected function setUp() { if (your_custom_condition) { $this->markTestSkipped('all tests in this file are invactive for this server configuration!'); } }
your_custom_condition dapat dikirimkan melalui beberapa metode / properti kelas statis, konstanta yang ditentukan dalam file bootstrap phpunit atau bahkan variabel global.
sumber
Config
kelas itu? Dimana saya menempatkannya?