Eu tenho vários arquivos de teste (grandes) que precisam ser mantidos. Isso significa que o acesso ao histórico deles é um requisito.
Benefícios
- Qualquer novo desenvolvedor obtém todo o conjunto de testes com apenas um
git pull
. - O histórico dos arquivos é feito em backup.
- Os próprios arquivos são copiados.
Desvantagens
- Grande aumento no tamanho do repositório.
- Grande aumento no tamanho do download de novos desenvolvedores que copiam o repositório.
Quais são as melhores práticas para manter arquivos de teste?
Eu guardo esses arquivos no controle de origem? Existem alternativas?
testing
version-control
files
sdasdadas
fonte
fonte
Respostas:
Armazene-os no controle de origem. Os benefícios que você listou são todos muito bons. Quando você diz que isso resultará em um tamanho "enorme", quão grande você está falando? Centenas de gigabytes? Terabytes?
Se o armazenamento é realmente um problema, você pode compactar os arquivos, armazená-los no controle de origem e, em seguida, ter um script que os descompacta quando os casos de teste são executados? Você perderia o histórico detalhado de cada arquivo dessa maneira (a menos que seja possível encontrar uma ferramenta que descompactará e mostrará o histórico na memória), mas os novos desenvolvedores ainda teriam acesso fácil aos arquivos de teste.
Dependendo da natureza dos seus dados de teste, você pode ter um script para gerar arquivos de teste. Isso pode funcionar se você estiver testando imagens muito grandes que podem ser geradas proceduralmente (as inserções SQL para preencher um banco de dados também podem ser facilmente geradas por um programa ou script), mas essa técnica não se aplica a todos os tipos de dados de teste ...
fonte
Eu os armazenaria no controle de origem. Existe um caso em que você deseja a suíte de testes sem o código? Não faz sentido. Existe um caso em que você deseja editar o código sem atualizar o conjunto de testes? Não deveria haver.
A desvantagem 1 não deve ser um problema, considerando os preços de armazenamento atualmente, e os sistemas modernos de SCM também devem tornar a atividade de rede uma preocupação fora da configuração inicial.
Sua desvantagem 2 não parece ser muito. Com que frequência você tem novos desenvolvedores participando deste projeto que o tempo inicial do clone se torna um problema?
fonte
Eu os armazenaria em um repositório diferente. As desvantagens que você mencionou são inevitáveis se você tiver um conjunto de testes volumoso.
fonte