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)