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

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

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

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

何より素晴らしいのは、それらが本当に簡単に実現できるということです。

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

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

- [テストを書いて実行する](/ja/1.10/topics/testing/overview/)
- [テストツール](/ja/1.10/topics/testing/tools/)
- [Advanced testing topics](/ja/1.10/topics/testing/advanced/)
