---
title: "Django におけるテスト"
version: 5.0
locale: ja
source: https://docs.djangoproject.com/ja/5.0/topics/testing/
canonical: https://djangodocs.dev/ja/5.0/topics/testing/
---
# Django におけるテスト

自動化テストは、モダンなウェブ開発者にとってバグを殺すために非常に役に立つツールです。テストのコレクション、**test suite** を使うことで、次のような数々の問題を解決したり避けることができます。

- 新しいコードを書いている時、テストを使えば、自分が書いたコードが期待通りに動作するかどうか確かめることができる。
- 古いコードのリファクタリングや修正をしている時、テストを使うことで、自分の行った変更が思ってもないような仕方でアプリケーションの動作を変更してしまわないことを保証できる。

ウェブアプリケーションのテストは複雑なタスクです。なぜなら、ウェブアプリケーションには複数のロジックのレイヤーが存在するからです。HTTP レベルのリクエストのハンドリングから、フォームの検証と処理、テンプレートのレンダリングなどです。しかし、Django のテスト実行フレームワークと各種ユーティリティを使えば、リクエストをシミュレートしたり、テストデータを挿入したり、アプリケーションの出力を検査したり、さらに一般に、書いたコードが期待通りの動作をするかどうかを検証できます。

Django でテストを書くおすすめの方法は、Python のスタンダードライブラリに含まれている [`unittest`](https://docs.python.org/3/library/unittest.html#module-unittest) モジュールを使うことです。詳細については、[テストを書いて実行する](/ja/5.0/topics/testing/overview/) ドキュメントで説明しています。

*その他* どんな Python テストフレームワークでも利用できます。Django は、この種のインテグレーションのためのAPI や各種ツールを提供しているからです。これらについては、 [テストに関する高度なトピック](/ja/5.0/topics/testing/advanced/) の [ほかのテストフレームワークを使う](/ja/5.0/topics/testing/advanced/#other-testing-frameworks) セクションで説明しています。

- [テストを書いて実行する](/ja/5.0/topics/testing/overview/)
- [テストツール](/ja/5.0/topics/testing/tools/)
- [テストに関する高度なトピック](/ja/5.0/topics/testing/advanced/)
