---
title: "Testando em Django"
version: 1.10
locale: pt-br
source: https://docs.djangoproject.com/pt-br/1.10/topics/testing/
canonical: https://djangodocs.dev/pt-br/1.10/topics/testing/
---
# 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`](https://docs.python.org/3/library/unittest.html#module-unittest) incluso na biblioteca padrão do Python. Esta é detalhada no documento [Writing and running tests](/pt-br/1.10/topics/testing/overview/).

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](/pt-br/1.10/topics/testing/advanced/#other-testing-frameworks) seção de [Advanced testing topics](/pt-br/1.10/topics/testing/advanced/).

- [Writing and running tests](/pt-br/1.10/topics/testing/overview/)
- [Testing tools](/pt-br/1.10/topics/testing/tools/)
- [Advanced testing topics](/pt-br/1.10/topics/testing/advanced/)
