Python Djangoでのユニットテストの書き方について解説します。DjangoのユニットテストはPython標準のテストモジュールunittest機能を拡張したものであり、テストケースはunittest.TestCaseの継承クラスであるdjango.test.TestCaseを継承して記述します。

Djangoの環境構築

まずは、Djangoの環境を構築します。作業用のディレクトリを作成し、その中でpipenvを使って仮想環境を構築します。

mkdir blog
cd blog
pip install pipenv
pipenv shell

次に、Djangoをインストールします。

pipenv install django

Djangoプロジェクトの作成

Djangoプロジェクトを作成します。

django-admin startproject mysite

Djangoアプリの作成

次に、Djangoアプリを作成します。

./manage.py startapp myapp

テストケースの作成

テストケースはdjango.test.TestCaseを継承して作成します。

from django.test import TestCase
from myapp.models import Animal

class AnimalTestCase(TestCase):
    def setUp(self):
        Animal.objects.create(name="lion", sound="roar")
        Animal.objects.create(name="cat", sound="meow")

    def test_animals_can_speak(self):
        """Animals that can speak are correctly identified"""
        lion = Animal.objects.get(name="lion")
        cat = Animal.objects.get(name="cat")
        self.assertEqual(lion.speak(), 'The lion says "roar"')
        self.assertEqual(cat.speak(), 'The cat says "meow"')

テストの実行

テストが書けたら、プロジェクトのmanage.pyユーティリティのtestコマンドでテストが実行できます。

./manage.py test

以上がPython Djangoでのユニットテストの書き方になります。この方法を使えば、Djangoを使ったことがない人でもユニットテストを書けるようになるはずです。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です