Open3

Djangoのテストについて得た知見

yuriayuria

バージョンについて

  • Django 4.0(4.0の新機能は明記する)
  • Python 3.10(3.10の新しい記法については明記する)
  • pytest 7.1.2
    • pytest-django 4.5
    • pytest-mock 3.7

関連性は低いが使用しているライブラリー

  • django-stubs 1.10
  • djangorestframework-stubs 1.5
  • django-rest-framework 3.12
yuriayuria

django-testについて (調べ中)

unittestを継承したdjangoのテストライブラリーである。以下、特に明記がない限りdjango.test以下のクラスである。

TODO: urlをコミットのリビジョン番号が含まれてるものにする。

TestCaseについて

ソースコード(django/test/testcaces.py 1392行目付近) より考えられること。

  • テストの分離を実現している
  • TransactionTestCaseを継承している。

TransactionTestCase(同1147行目付近) とは

  • SimpleTestCaceを継承している

SimpleTestCase(同300行目付近) とは

  • unittset.TestCaseを継承してる
  • djangoのTestCaseのほとんどがSimpleTestCaseを継承している
    多分ここにDB関係の設定とかが入っている。

考察メモ:
SimpleTsetCaseの特性を使いたくない(DBを動かしたくない時)はunittset.TestCaseを継承して使った方が良い