Phpunit: Ulangi tes yang gagal

Dibuat pada 23 Jan 2017  ·  4Komentar  ·  Sumber: sebastianbergmann/phpunit

Ini adalah pelengkap untuk #1022 yang ditutup oleh versi 5.0.

Saya kira baris perintah seperti --repeat akan berguna untuk mencoba yang pertama dan tes yang gagal.

Seharusnya berfungsi seperti itu: ketika Anda menjalankan phpunit, itu akan membuat file sementara yang seharusnya memiliki info tentang tes yang gagal (pada dasarnya: kelas dan nama tes dan indeks tes jika menggunakan penyedia data).

[
    { "class": "MyTest", "method": "testSingle", "index": null },
    { "class": "MyTest", "method": "testWithDataProvider", "index": 14 },
    { "class": "MyTest", "method": "testWithDataProvider", "index": 19 },
]

Setelah kesalahan, pengguna dapat menggunakan perintah --repeat untuk membuat phpunit berjalan pada awalnya, pengujian yang gagal ini. Jika tidak ada lagi kesalahan yang ditemukan, maka phpunit dapat terus menjalankan semua pengujian lainnya (kecuali yang sebelumnya gagal).


Contoh kasus:

> phpunit
FAILURES!
Tests: 100, Assertions: 500, Failures: 3.

1. MyTest::testSingle() expects string by get int;
2. MyTest::testWithDataProvider()#14 expects 5 but get 6;
3. MyTest::testWithDataProvider()#19 expects 8 but get 90;

Setelah memperbaiki dua kesalahan saja:

> phpunit --repeat
Rerunning last fails...

FAILURES!
Tests: 100, Assertions: 500, Failures: 1.

1. MyTest::testWithDataProvider()#14 expects 5 but get 18;

Setelah memperbaiki kesalahan terakhir:

> phpunit --repeat
Rerunning last fails... OK.
Running all others tests...

OK (100 tests, 500 assertions)

Perintah tambahan:

  • Pengguna dapat menggunakan --repeat-fails untuk mengulang hanya tes terakhir yang gagal (_tanpa menjalankan ulang semua_);
typenhancement

Komentar yang paling membantu

Ingin sekali terlibat dalam hal ini, pernah memimpikan hal serupa (dan gagal membuat skrip bash) di masa lalu!

Semua 4 komentar

@lstrojny Apakah Anda masih tertarik untuk memindahkan https://github.com/lstrojny/phpunit-clever-and-smart ke inti PHPUnit?

@sebastienbergmann Apakah saya perlu melakukan pekerjaan untuk itu? Dalam semua keseriusan, saya terlalu sibuk untuk melakukannya tetapi saya akan benar-benar untuk phpunit-pintar-dan-pintar untuk menjadi bagian dari phpunit.

Ingin sekali terlibat dalam hal ini, pernah memimpikan hal serupa (dan gagal membuat skrip bash) di masa lalu!

Duplikat #46.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat