Tes apa yang harus saya gunakan untuk menguji parser csv?
Saya memiliki parser csv sederhana di C #, dan saya ingin memastikan bahwa saya memiliki cakupan tes unit yang baik dari semua kasus tepi umum (dan tidak umum). Tes apa yang harus saya gunakan untuk mengidentifikasi masalah potensial dan kasus batas?
Jawaban:
Saya baru saja menemukan https://github.com/maxogden/csv-spectrum :
sumber
Berikut adalah beberapa kasus batas yang harus Anda pikirkan dan uji kasusnya.
,foo,
,"foo",
,"foo\nbar"
,"foo,bar"
,"foo""bar"
,,
harus menjadi nol dan,"",
harus memberikan string kosong.sumber
Tidak ada spesifikasi formal untuk file CSV. Namun, lihat RFC 4180 - Format Umum dan tipe MIME untuk file CSV , (khususnya Bagian 2) yang mendokumentasikan format yang tampaknya diikuti oleh sebagian besar implementasi.
Tampaknya cukup mudah untuk mulai membuat beberapa kasus uji dari daftar di bagian 2, khususnya:
sumber
Data sensus AS tersedia di CSV
Saya sudah mengerjakannya untuk sementara waktu. Ini tentu cukup aneh untuk menjadi ujian yang bagus, dan ada berton-ton.
sumber
Periksa direktori ini dan lihat kode di file * .t .:
http://cpansearch.perl.org/src/MAKAMAKA/Text-CSV-1.32/t/
(Nomor versi -1.32 mungkin akan berubah pada akhirnya sehingga tautannya menjadi "mati". Tambahkan nomor versi sendiri dengan coba-coba, atau buka direktori induk atau klik di sini
https://metacpan.org/pod/Text::CSV
dan klik "Browse" ke kode sumber dari versi terbaru)
Text :: CSV_XS adalah modul perl matang untuk mem-parsing file csv. File * .t ditulis dalam Perl 5, mengandung banyak testcases untuk menguji sendiri modul, mereka harus dilakukan pada waktu pemasangan modul.
sumber