Jakich testów należy użyć do testowania jednostkowego analizatora składni csv?
Mam prosty parser csv w języku C # i chcę mieć pewność, że mam dobry zasięg testu wszystkich wspólnych (i nietypowych) przypadków krawędzi. Jakie testy należy zastosować, aby zidentyfikować potencjalne problemy i przypadki graniczne?
Odpowiedzi:
Właśnie znalazłem https://github.com/maxogden/csv-spectrum :
źródło
Oto kilka przypadków granicznych, które powinieneś przemyśleć i mieć przypadki testowe.
,foo,
,"foo",
,"foo\nbar"
,"foo,bar"
,"foo""bar"
,,
powinno być zerowe i,"",
powinno dać pusty ciąg.źródło
Nie ma formalnej specyfikacji plików CSV. Jednak spójrz na RFC 4180 - Typowe formaty i typy MIME dla plików CSV (szczególnie sekcja 2), które dokumentują format, który wydaje się być przestrzegany przez większość implementacji.
Generowanie niektórych przypadków testowych z listy w sekcji 2 wydaje się dość proste, a konkretnie:
źródło
Dane ze spisu powszechnego w USA są dostępne w CSV
Pracowałem nad tym przez jakiś czas. To z pewnością wystarczająco dziwne, aby być dobrym testem, a jest ich mnóstwo.
źródło
Sprawdź ten katalog i spójrz na kod w plikach * .t .:
http://cpansearch.perl.org/src/MAKAMAKA/Text-CSV-1.32/t/
(Numer wersji -1.32 może w końcu ulec zmianie, więc link może stać się „martwy”. Zwiększ liczbę wersji samodzielnie metodą prób i błędów lub przejdź do katalogu nadrzędnego lub kliknij tutaj
https://metacpan.org/pod/Text::CSV
i kliknij „Przeglądaj” do kodu źródłowego najnowszej wersji)
Text :: CSV_XS to dojrzały moduł perla do analizowania plików csv. Pliki * .t są napisane w Perlu 5, zawierają wiele przypadków testowych do autotestowania modułu, należy je wykonać podczas instalacji modułu.
źródło