---
title: "Django 中的测试"
version: 5.2
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/5.2/topics/testing/
canonical: https://djangodocs.dev/zh-hans/5.2/topics/testing/
---
# Django 中的测试

自动化测试是现代 web 开发者非常有用的 bug 消灭工具。你可以使用一组测试 -- 一个 **测试套件** -- 来解决或避免一些问题：

- 当你编写新代码时，你可以利用测试确保代码按照期望的方式运行。
- 当你重构或修改旧代码，你可以利用测试来确保你的修改不会使应用运行出错。

测试一个 web 应用是一项复杂的任务，因为一个 web 应用由多个层次的逻辑组成 -- 从处理 HTTP 请求的层面，到表单验证和处理，再到模板渲染。使用 Django 的测试执行框架和各种实用工具，你可以模拟请求、插入测试数据、检查应用程序的输出，通常验证你的代码是否按照预期执行。

在 Django 中编写测试的首选方式是使用 Python 标准库中内置的 [`unittest`](https://docs.python.org/3/library/unittest.html#module-unittest) 模块。这一点在 [编写并运行测试](/zh-hans/5.2/topics/testing/overview/) 文档中有详细介绍。

你也可以使用 *另一个* Python 测试框架；Django 提供了用于这种集成的 API 和工具。这在 [进阶测试主题](/zh-hans/5.2/topics/testing/advanced/) 的 [使用不同的测试框架](/zh-hans/5.2/topics/testing/advanced/#other-testing-frameworks) 章节中有介绍。

- [编写并运行测试](/zh-hans/5.2/topics/testing/overview/)
- [测试工具](/zh-hans/5.2/topics/testing/tools/)
- [进阶测试主题](/zh-hans/5.2/topics/testing/advanced/)
