Executando o unittest com a estrutura típica de diretórios de teste
A estrutura de diretórios muito comum, mesmo para um simples módulo Python, parece ser separar os testes unitários em seus própriostest
diretório:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
por exemplo, veja issoHowto do projeto Python.
Minha pergunta é simplesmenteQual é a maneira usual de executar os testes? Eu suspeito que isso é óbvio para todos, exceto eu, mas você não pode simplesmente correrpython test_antigravity.py
do diretório de teste como seuimport antigravity
falhará porque o módulo não está no caminho.
Eu sei que eu poderia modificar o PYTHONPATH e outros truques relacionados ao caminho de busca, mas não posso acreditar que seja a maneira mais simples - tudo bem se você for o desenvolvedor, mas não realista esperar que seus usuários usem se quiserem apenas verificar se os testes são passagem.
A outra alternativa é apenas copiar o arquivo de teste para o outro diretório, mas parece um pouco estúpido e perde o ponto de tê-los em um diretório separado para começar.
Então, se você tivesse acabado de baixar a fonte para o meu novo projeto, como você executaria os testes de unidade? Eu prefiro uma resposta que me permita dizer aos meus usuários: "Para executar os testes unitários do X."