virtool es una aplicación web para diagnosticar infecciones por patógenos mediante secuenciación de alto rendimiento.
Sitio web: https://www.virtool.ca
Consulte la documentación virtool para comenzar con la última versión de virtool 4.0.0.
Actualmente, virtool está experimentando una importante transformación hacia una aplicación nativa de la nube. Esto significará que virtool podrá escalar el trabajo en múltiples hosts y ejecutarse de forma nativa en Kubernetes y proveedores de nube pública.
Para usuarios y administradores actuales:
En la raíz del directorio fuente:
Inicie los servicios de respaldo necesarios en Docker.
docker compose -f tests/docker-compose.yml -p virtool -test up -d
Ejecute el conjunto de pruebas:
poetry run pytest
El conjunto de pruebas funciona con pytest-xdist
.
poetry run pytest -n 4
Esto utilizará múltiples procesos de Python para ejecutar las pruebas en paralelo.
Usamos Syrupy para pruebas de instantáneas.
Las instantáneas se utilizan para pruebas en las que queremos afirmar que un objeto (por ejemplo, registro de base de datos, objeto Pydantic, respuesta API) tiene una forma y un conjunto de valores esperados.
Si es necesario actualizar las instantáneas:
poetry run pytest <path_to_test_file> --su
Puede ser aún más específico especificando la clase o función de prueba:
poetry run pytest <path_to_test_file>::<class_or_function>
Sea siempre específico sobre qué instantáneas está actualizando . No actualices ciegamente un montón de archivos de instantáneas solo para que tus pruebas pasen.
Todas las confirmaciones deben seguir la especificación de confirmaciones convencionales.
Estos mensajes de confirmación estandarizados se utilizan para publicar lanzamientos automáticamente utilizando semantic-release
después de que las confirmaciones se fusionen con main
de los RP exitosos.
Ejemplo
feat: add API support for assigning labels to existing samples
Se requieren cuerpos y pies de página descriptivos cuando sea necesario para describir el impacto de la confirmación. Utilice viñetas cuando corresponda.
Requisitos adicionales
De Tim Pope: una nota sobre los mensajes de confirmación de Git