Djangoでコードテスト

Djangoで用意されているコードテストの方法。

コードの準備

任意の場所にテスト用のディレクトリを作成し、初期化用のファイルを作成する。
作成するファイルの中身は空でよい。

__init__.py

このファイルがないと、テストが実行されない。

テストコードを記述するファイル。

接頭辞に「test_」を入れたファイルを作成する。
接頭辞がないと、テストの対象とは認識されない。

test_[...].py

テストコード

テストをおこなう際には、djangoが提供しているTestCaseを継承して行う必要がある。
下記のような書き方で継承する。

from django.test import TestCase

class Tests(TestCase):

メソッドも接頭辞に「test_」を入れ作成する。
接頭辞がないと、テストの対象として呼び出されることはない。

def test_call_method(self):

テスト実施の際は、テスト用のデータを用意する必要がある。
同クラス内のテストで使用するデータであれば、 SetUp メソッドを使用して作成ができる。

各、テストメソッドで作成しているデータは、ほかのテストメソッドでは使用することができないため、横断して使用したい場合は、必ず、 SetUp メソッド内で作成する。

def setUp(self):

テスト判定は、assertを使用する。

例えば、結果が同地なのかを確認したいのであれば、下記のように記述する。

assertEqual(a, b)

テスト実行

次のように指定することで、テストが実行される。

python3 [アプリケーション]/manage.py test [アプリケーション]

参考

はじめての Django アプリ作成、その 5 | Django ドキュメント | Django (djangoproject.com)