October 2025
Intermediate to advanced
712 pages
9h 46m
Japanese
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、コードのメール送信部分、つまりスクラッチパッドの2番目の項目をテストする。
機能テスト(FT)では、Djangoが送信したメールをmail.outbox 属性で検索できる方法を紹介した。
しかし本章では、モッキングと呼ばれる一般的なテストテクニックを実演する。
したがって、これらの単体テストでは、この便利なDjangoのショートカットが存在しないものとして扱う。
Djangoのmail.outboxを使うなと言っているのか?
違う。使え。便利なヘルパーだ。
だがモックについて教えたい。外部依存関係を単体テストする汎用ツールとして有用だからだ。
君はいつもDjangoを使っているとは限らない!
たとえ使っていたとしても、メールを送信しているとは限らない——
サードパーティAPIとのあらゆるやり取りが、
モックでテストしたくなる場面になり得るのだ。
まずは基本的なビューとURLをセットしよう。 ログインメール送信用の新規URLが最終的にホームページへリダイレクトされることを確認する簡単なテストで実現できる:
src/accounts/tests/test_views.py (ch20l001)
fromdjango.testimportTestCaseclassSendLoginEmailViewTest(TestCase):deftest_redirects_to_home_page(self):response=self.client.post("/accounts/send_login_email",data={"email":"edith@example.com"})self.assertRedirects(response,"/")
superlists/urls.py の `include ` と、
accounts/urls.py の `url ` を接続し、
以下のようなテストでパスを確認する:
src/accounts/views.py ...
Read now
Unlock full access