virtool ist eine webbasierte Anwendung zur Diagnose von Pathogeninfektionen mittels Hochdurchsatzsequenzierung.
Website: https://www.virtool.ca
Sehen Sie sich die virtool Dokumentation an, um mit der neuesten Version von virtool 4.0.0 zu beginnen.
virtool durchläuft derzeit eine große Transformation hin zu einer Cloud-nativen Anwendung. Dies bedeutet, dass virtool die Arbeit auf mehrere Hosts skalieren und nativ in Kubernetes und öffentlichen Cloud-Anbietern ausführen kann.
Für aktuelle Benutzer und Administratoren:
Im Stammverzeichnis des Quellverzeichnisses:
Starten Sie die erforderlichen Sicherungsdienste in Docker.
docker compose -f tests/docker-compose.yml -p virtool -test up -d
Führen Sie die Testsuite aus:
poetry run pytest
Die Testsuite funktioniert mit pytest-xdist
.
poetry run pytest -n 4
Dadurch werden mehrere Python-Prozesse verwendet, um die Tests parallel auszuführen.
Wir verwenden Syrupy für Snapshot-Tests.
Snapshots werden für Tests verwendet, bei denen wir sicherstellen möchten, dass ein Objekt (z. B. Datenbankeintrag, Pydantic-Objekt, API-Antwort) eine erwartete Form und einen erwarteten Wertesatz hat.
Wenn Snapshots aktualisiert werden müssen:
poetry run pytest <path_to_test_file> --su
Sie können noch spezifischer sein, indem Sie die Testklasse oder -funktion angeben:
poetry run pytest <path_to_test_file>::<class_or_function>
Geben Sie immer genau an, welche Snapshots Sie aktualisieren . Aktualisieren Sie nicht blind eine Menge Snapshot-Dateien, nur damit Ihre Tests bestehen.
Alle Commits müssen der Spezifikation für konventionelle Commits entsprechen.
Diese standardisierten Commit-Nachrichten werden verwendet, um Releases mithilfe von semantic-release
automatisch zu veröffentlichen, nachdem Commits aus erfolgreichen PRs mit main
zusammengeführt wurden.
Beispiel
feat: add API support for assigning labels to existing samples
Bei Bedarf sind beschreibende Textkörper und Fußzeilen erforderlich, um die Auswirkungen des Commits zu beschreiben. Verwenden Sie gegebenenfalls Aufzählungszeichen.
Zusätzliche Anforderungen
Von Tim Pope: Eine Anmerkung zu Git-Commit-Nachrichten