DjangoはPythonの人気のあるWebフレームワークで、その組み込みのテストツールを通じて、ユニットテストが簡単かつ効率的に行えます。DjangoのユニットテストはPython標準ライブラリモジュールであるunittestを使用して定義されます。ここでは、Djangoのunittest.TestCaseのサブクラスである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
テストディスカバリはunittestモジュールの組み込みテストディスカバリに基づいています。デフォルトでは、これは現在の作業ディレクトリの下のtest*.pyという名前の任意のファイルでテストを発見します。
以上がPython Djangoでのユニットテストの基本的な書き方と実行方法になります。詳細な情報はDjangoの公式ドキュメンテーションを参照してください。.