October 2025
Intermediate to advanced
712 pages
9h 46m
Japanese
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、ログインシステムの仕上げを行う。 その過程で、モックの別の活用法を探る: システムの一部を互いに隔離することだ。これにより より的を絞ったテストが可能になり、組み合わせ爆発を防ぎ、 テスト間の重複を減らせる。
本章では、いわゆる「ロンドン流TDD」の方向へ移行していく。 これは本書で主に紹介している「古典的」あるいは「デトロイト流」TDDの変種だ。 詳細はここでは割愛するが、 ロンドン流TDDはモック化とシステム部品の分離をより重視する。 常に言えることだが、長所と短所がある! 詳しくは オンライン付録「テストの分離とテストの声に耳を傾ける」を参照のこと。
その過程で、unittest.mock の便利な機能をいくつか学び、
また「十分な」テストの数がどれくらいかについても議論する。
前の章で認証バックエンドの準備ができた。 今度はログインビューでそのバックエンドを使う必要がある。 だがまず、メモ帳に書いてある通り、settings.pyに追加しなければならない:
src/superlists/settings.py (ch21l001)
AUTH_USER_MODEL="accounts.User"AUTHENTICATION_BACKENDS=["accounts.authentication.PasswordlessAuthenticationBackend",][...]
簡単だったな!
次に、ビューで何が起こるべきかをテストしよう。 再びスパイクを振り返ると:
src/accounts/views.py
deflogin(request):("login view",file=sys.stderr)uid=request.GET.get("uid")user=auth.authenticate(uid=uid)ifuserisnotNone:auth
Read now
Unlock full access