Tengo una serie de archivos de prueba (grandes) que deben mantenerse. Esto significa que el acceso a su historial es un requisito.
Beneficios
- Cualquier desarrollador nuevo obtiene todo el conjunto de pruebas con solo un
git pull
. - Se realiza una copia de seguridad del historial de los archivos.
- Los archivos en sí están respaldados.
Inconvenientes
- Gran aumento en el tamaño del repositorio.
- Gran aumento en el tamaño de descarga de los nuevos desarrolladores que copian el repositorio.
¿Cuáles son las mejores prácticas para mantener los archivos de prueba?
¿Guardo estos archivos en el control de origen? ¿Hay alguna alternativa?
testing
version-control
files
sdasdadas
fuente
fuente
Respuestas:
Almacénelos en control de fuente. Los beneficios que enumeró son todos muy buenos. Cuando dices que hacer esto dará como resultado un tamaño "enorme", ¿de qué tamaño estás hablando? ¿Cientos de gigabytes? Terabytes?
Si el almacenamiento es realmente un gran problema, ¿podría comprimir los archivos, almacenar el archivo zip en el control de origen y luego tener un script que los descomprima cuando se ejecutan los casos de prueba? Perdería el historial detallado de cada archivo de esa manera (a menos que pueda encontrar una herramienta que descomprima y muestre el historial en la memoria), pero los nuevos desarrolladores aún tendrían fácil acceso a los archivos de prueba.
Dependiendo de la naturaleza de sus datos de prueba, podría tener un script para generar archivos de prueba. Esto podría funcionar si está probando imágenes muy grandes que pueden generarse de manera procesal (las inserciones SQL para llenar una base de datos también pueden generarse fácilmente mediante un programa o script), pero esta técnica no se aplica a todo tipo de datos de prueba ...
fuente
Los almacenaría en control de fuente. ¿Alguna vez hay un caso en el que desea la suite de prueba sin el código? No tiene sentido ¿Hay algún caso en el que desee editar el código sin actualizar el conjunto de pruebas? No debería haberlo.
El inconveniente 1 no debería ser un problema dados los precios de almacenamiento en estos días, y los sistemas SCM modernos deberían hacer que la actividad de la red no sea una preocupación fuera de la configuración inicial tampoco.
Su inconveniente 2 no parece que deba ser mucho. ¿Con qué frecuencia tiene nuevos desarrolladores que se suman a este proyecto para que el tiempo de clonación inicial se convierta en un problema?
fuente
Los guardaría en un repositorio diferente. Los inconvenientes que mencionó son inevitables si tiene un conjunto de pruebas voluminosas.
fuente