Nunit: Hasil kosong dari generator `TestCaseSource` harus gagal dalam pengujian

Dibuat pada 3 Jun 2020  ·  3Komentar  ·  Sumber: nunit/nunit

Saat menggunakan [TestCaseSource(nameof(GeneratorMethod))] , masuk akal untuk gagal dalam pengujian (atau menandainya sebagai dilewati) jika generator tidak menghasilkan input. Setidaknya jangan tunjukkan tes sebagai lulus :/

Komentar yang paling membantu

Beberapa poin yang perlu dipertimbangkan...

  1. Ada banyak sumber, jadi kita harus jelas tentang apakah diskusi berlaku untuk __setiap__ sumber atau untuk hasil agregat dari semua sumber.

  2. Sumber menghasilkan tes, bukan hanya data. Jika tidak ada tes yang dihasilkan, maka tidak ada yang gagal atau dilewati. Di masa lalu (V2) kami menghasilkan tes gagal palsu, yang akhirnya menjadi berantakan dalam kode dan membingungkan pengguna.

  3. Metode pengujian tanpa kasus sedikit mirip dengan metode tanpa kode. Juga seperti perlengkapan tanpa tes. Kami menganggap mereka yang lewat.

  4. Jika Anda menyebut tes Anda sebagai teori, Anda akan gagal jika tidak ada kasus yang lolos.

Saya akan memilih untuk meninggalkan perilaku saat ini tetapi memberi pengguna beberapa cara untuk meminta pesan peringatan jika tidak ada kasus yang dibuat.

Semua 3 komentar

Jika memori berfungsi, ia berfungsi seperti itu karena laporan bug beberapa tahun yang lalu, yang meyakinkan kami bahwa itu harus lulus dalam kasus ini.

😢.

Saya baru saja menulis tes dengan (saat ini) satu item di sumbernya, dan, sebagai tes baru dalam siklus TDD, saya berharap itu gagal, hanya untuk menemukannya lulus ... jadi saya harus melacak generator saya yang salah.

Mungkin kegagalan sedikit kejam (preferensi saya, tetapi mungkin mengganggu reporter masalah sebelumnya). Bagaimana dengan menandai tes sebagai dilewati?

Beberapa poin yang perlu dipertimbangkan...

  1. Ada banyak sumber, jadi kita harus jelas tentang apakah diskusi berlaku untuk __setiap__ sumber atau untuk hasil agregat dari semua sumber.

  2. Sumber menghasilkan tes, bukan hanya data. Jika tidak ada tes yang dihasilkan, maka tidak ada yang gagal atau dilewati. Di masa lalu (V2) kami menghasilkan tes gagal palsu, yang akhirnya menjadi berantakan dalam kode dan membingungkan pengguna.

  3. Metode pengujian tanpa kasus sedikit mirip dengan metode tanpa kode. Juga seperti perlengkapan tanpa tes. Kami menganggap mereka yang lewat.

  4. Jika Anda menyebut tes Anda sebagai teori, Anda akan gagal jika tidak ada kasus yang lolos.

Saya akan memilih untuk meninggalkan perilaku saat ini tetapi memberi pengguna beberapa cara untuk meminta pesan peringatan jika tidak ada kasus yang dibuat.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat