Plugin do pytest que executa testes em paralelo em várias CPUs e oferece um modo para repetir testes com falha.
pytest-dev/pytest-asyncio
Um plugin do pytest que permite escrever testes como corrotinas e usar await diretamente no código de teste.
- Estrelas
- 1,669
- Forks
- 215
- Issues abertas
- 53
- Último commit
- há 21 horas
O que é?
pytest-asyncio é um plugin do pytest que adiciona suporte a testes de código baseado na biblioteca asyncio do Python. Ele permite declarar funções de teste como corrotinas, para que chamadas assíncronas possam ser aguardadas diretamente no teste, sem precisar envolvê-las manualmente em código de event loop.
Os testes são marcados com o marcador asyncio, e o pytest os executa como itens de teste comuns. A documentação do projeto aborda opções de configuração e como gerenciar event loops e fixtures assíncronas. A instalação é feita com um único comando pip, e o pytest detecta o plugin automaticamente após a instalação.
O plugin não oferece suporte a classes de teste que herdam da biblioteca padrão unittest. Nesses casos, o projeto recomenda unittest.IsolatedAsyncioTestCase ou frameworks com suporte a código assíncrono.
Recursos principais
- 01Executa funções de teste em forma de corrotina marcadas com o marcador asyncio.
- 02Permite aguardar código assíncrono diretamente no corpo dos testes.
- 03Funciona como um plugin padrão do pytest, instalado com pip.
- 04Documenta a configuração e o gerenciamento de event loops.
Casos de uso
- Testar handlers ou clientes assíncronos de serviços web desenvolvidos com asyncio.
- Escrever testes de integração que chamam bibliotecas assíncronas de banco de dados ou de rede.
- Testar fixtures assíncronas compartilhadas por uma suíte de testes do pytest.
Início rápido
- 1
Instale pytest-asyncio com pip
pip install pytest-asyncio
Antes de usar
- Classes de teste que herdam de unittest não são compatíveis; use unittest.IsolatedAsyncioTestCase.
Em coleções
Tópicos
Perguntas frequentes
- O que é pytest-asyncio?
- Um plugin do pytest que permite escrever testes como corrotinas e usar await diretamente no código de teste. pytest-asyncio é um plugin do pytest que adiciona suporte a testes de código baseado na biblioteca asyncio do Python. Ele permite declarar funções de teste como corrotinas, para que chamadas assíncronas possam ser aguardadas diretamente no teste, sem precisar envolvê-las manualmente em código de event loop.
- pytest-asyncio é gratuito? Qual é a licença?
- pytest-asyncio é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pytest-asyncio ainda é mantido?
- Manutenção ativa. O último commit de pytest-asyncio foi em 5 de nov. de 2026.
- Para que posso usar pytest-asyncio?
- Testar handlers ou clientes assíncronos de serviços web desenvolvidos com asyncio. Escrever testes de integração que chamam bibliotecas assíncronas de banco de dados ou de rede. Testar fixtures assíncronas compartilhadas por uma suíte de testes do pytest.
- Como instalar pytest-asyncio?
- Instale pytest-asyncio com pip: pip install pytest-asyncio
- Onde consigo pytest-asyncio?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pytest-dev/pytest-asyncio
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework de BDD que executa arquivos de funcionalidades Gherkin como testes do pytest, sem precisar de um executor de testes separado.
Um pacote Python que encontra e executa exemplos de código em docstrings, reescrevendo o módulo builtin doctest com um parser baseado em AST.
Uma biblioteca Python que grava interações HTTP feitas durante os testes e as reproduz depois, para que eles rodem offline e de forma determinística.
Plugin do pytest que executa novamente apenas os testes afetados pelas mudanças recentes no código, com modo de observação contínua opcional.
Plugin do pytest que embaralha a ordem dos testes e redefine as seeds aleatórias para reproduzir falhas causadas pela ordem ou por dados aleatórios.