Testando em Django

Automated testing is an extremely useful bug-killing tool for the modern Web developer. You can use a collection of tests – a test suite – to solve, or avoid, a number of problems:

  • When you’re writing new code, you can use tests to validate your code works as expected.
  • When you’re refactoring or modifying old code, you can use tests to ensure your changes haven’t affected your application’s behavior unexpectedly.

Testar uma aplicação web é uma tarefa complexa, porque uma aplicação web é feita por diversas camadas lógicas – vai do nível de uma requisição HTTP, a uma validação e processamento de um formulário, até a renderização de um template. Com a execução de teste em Django e dispondo de diversas utilidades, você pode simular requisições, inserir informações testes, inspecionar saídas de sua aplicação e geralmente verificar se seu código está fazendo o que ele deveria fazer.

A melhor parte é que é realmente fácil.

O modo preferível de se escrever testes no Django é usar o módulo unittest incluso na biblioteca padrão do Python. Esta é detalhada no documento Writing and running tests.

Você pode também usar qualquer outro framework de teste em Python, Django providencia uma API e ferramentas para este tipo de integração. Elas são descritas na Using different testing frameworks seção de Advanced testing topics.