virtool é um aplicativo baseado na web para diagnosticar infecções por patógenos usando sequenciamento de alto rendimento.
Site: https://www.virtool.ca
Consulte a documentação virtool para começar a usar a versão mais recente do virtool 4.0.0.
virtool está atualmente passando por uma grande transformação para um aplicativo nativo da nuvem. Isso significa que virtool pode escalar o trabalho em vários hosts e ser executado nativamente em Kubernetes e em provedores de nuvem pública.
Para usuários e administradores atuais:
Na raiz do diretório de origem:
Inicie os serviços de apoio necessários no Docker.
docker compose -f tests/docker-compose.yml -p virtool -test up -d
Execute o conjunto de testes:
poetry run pytest
O conjunto de testes funciona com pytest-xdist
.
poetry run pytest -n 4
Isso usará vários processos Python para executar os testes em paralelo.
Usamos Syrupy para testes instantâneos.
Instantâneos são usados para testes onde queremos afirmar que um objeto (por exemplo, registro de banco de dados, objeto Pydantic, resposta de API) tem uma forma e um conjunto de valores esperados.
Se os snapshots precisarem ser atualizados:
poetry run pytest <path_to_test_file> --su
Você pode ser ainda mais específico especificando a classe ou função de teste:
poetry run pytest <path_to_test_file>::<class_or_function>
Sempre seja específico sobre quais snapshots você está atualizando . Não atualize cegamente uma tonelada de arquivos de snapshot apenas para fazer seus testes passarem.
Todos os commits devem seguir a especificação de commits convencionais.
Essas mensagens de commit padronizadas são usadas para publicar lançamentos automaticamente usando semantic-release
depois que os commits são mesclados com main
de PRs bem-sucedidos.
Exemplo
feat: add API support for assigning labels to existing samples
Corpos descritivos e rodapés são necessários quando necessário para descrever o impacto do commit. Use marcadores quando apropriado.
Requisitos Adicionais
De Tim Pope: uma nota sobre mensagens de commit do Git