Quais testes devo usar para testar em unidade um analisador csv?
Eu tenho um analisador csv simples em c # e quero ter certeza de que tenho uma boa cobertura de teste de unidade de todos os casos comuns (e incomuns) de borda. Quais testes devo usar para identificar possíveis problemas e casos de fronteira?
Respostas:
Acabei de encontrar https://github.com/maxogden/csv-spectrum :
fonte
Aqui estão alguns casos de limite nos quais você deveria ter pensado e ter casos de teste.
,foo,
,"foo",
,"foo\nbar"
,"foo,bar"
,"foo""bar"
,,
deve ser um nulo e,"",
fornecer uma string vazia.fonte
Não há especificação formal para arquivos CSV. No entanto, dê uma olhada no RFC 4180 - Tipos de formato comum e MIME para arquivos CSV , (particularmente a Seção 2), que documenta o formato que parece ser seguido pela maioria das implementações.
Parece bastante simples começar a gerar alguns casos de teste a partir da lista na seção 2, especificamente:
fonte
Os dados do censo dos EUA estão disponíveis em CSV
Estou trabalhando nisso há um tempo. Certamente é estranho o suficiente para ser um bom teste, e há toneladas e toneladas disso.
fonte
Verifique este diretório e veja o código nos arquivos * .t .:
http://cpansearch.perl.org/src/MAKAMAKA/Text-CSV-1.32/t/
(O número da versão -1.32 pode mudar eventualmente, para que o link fique "inoperante". Aumente o número da versão por tentativa e erro, ou acesse o diretório pai ou clique aqui
https://metacpan.org/pod/Text::CSV
e clique em "Browse" para o código fonte da versão mais recente)
O Text :: CSV_XS é um módulo perl maduro para analisar arquivos csv. Os arquivos * .t são escritos em Perl 5, contêm muitos casos de teste para autoteste do módulo e devem ser executados no momento da instalação do módulo.
fonte