virtool — это веб-приложение для диагностики патогенных инфекций с использованием высокопроизводительного секвенирования.
Сайт: https://www.virtool.ca.
См. документацию virtool , чтобы начать работу с последней версией virtool 4.0.0.
virtool в настоящее время претерпевает серьезную трансформацию в облачное приложение. Это будет означать, что virtool сможет масштабировать работу на нескольких хостах и работать в Kubernetes и провайдерах общедоступных облаков.
Для текущих пользователей и администраторов:
В корне исходного каталога:
Запустите необходимые службы поддержки в Docker.
docker compose -f tests/docker-compose.yml -p virtool -test up -d
Запустите набор тестов:
poetry run pytest
Набор тестов работает с pytest-xdist
.
poetry run pytest -n 4
При этом будет использоваться несколько процессов Python для параллельного запуска тестов.
Мы используем Syrupy для моментального тестирования.
Снимки используются для тестов, в которых мы хотим подтвердить, что объект (например, запись базы данных, объект Pydantic, ответ API) имеет ожидаемую форму и набор значений.
Если снимки необходимо обновить:
poetry run pytest <path_to_test_file> --su
Вы можете быть еще более конкретным, указав тестовый класс или функцию:
poetry run pytest <path_to_test_file>::<class_or_function>
Всегда уточняйте, какие снимки вы обновляете . Не обновляйте слепо массу файлов моментальных снимков только для того, чтобы ваши тесты прошли успешно.
Все коммиты должны соответствовать спецификации обычных коммитов.
Эти стандартизированные сообщения о фиксации используются для автоматической публикации релизов с использованием semantic-release
после слияния коммитов с main
из успешных PR.
Пример
feat: add API support for assigning labels to existing samples
Описательные тела и нижние колонтитулы необходимы там, где необходимо описать влияние фиксации. Используйте пули там, где это уместно.
Дополнительные требования
От Тима Поупа: заметка о сообщениях коммитов Git