mtbの学んだことのブログ

とあるPythonエンジニアのブログ

DjangoのViewのテストである文字列が含まれているかを確認する方法

DjangoのViewのテストでレスポンスにある文字列が含まれているかを確認する方法があるんだけど、どういうふうに書くんだっけ、、、と思うことが三回起きました。そういう時になんとググるかで少し詰まったので、記事に書きました。そう思った時に見返すための記事です。

で、どうやってやるかというと、

assertContains(response, text)

です。

否定もある。

assertNotContains(response, text)

ドキュメントはこの辺り。

Testing tools | Django documentation | Django

こんな雰囲気。(実際には動かしてないけど、雰囲気)

from django.test import TestCase

class SampleTest(TestCase):
    def test_sample_test_case(self):
        response = self.client.get('/')
        self.assertContains(response, 'Hello World')
        self.assertNotContains(response, 'Good bye World')