2

登録された電子メールアドレスを変更しようとして、ユーザーに確認電子メールを送信する必要があるDjangoベースのWebアプリケーションがあります。機能は実装されていますが、電子メールの内容を確認することを目的としたレタステストが失敗しています。

操作を確認するために、私の計画では、ファイルバックエンド(EMAIL_BACKEND ='django.core.mail.backends.filebased.EmailBackend')を使用してから、レタスステップ内でファイルの内容を確認しました。

「通常」(たとえばmanage.py runserverを介して)実行すると、電子メールファイルは期待どおりに作成されます。レタス(manage.pyharvest)を介して実行すると、Webサイトは正しく駆動されているように見えますが(Seleniumを使用して駆動しています)、電子メールファイルは生成されません。

私は何を逃しましたか?テストプロセス中にファイルバックエンドも使用されるように、使用する必要のある設定(たとえば、terrain.pyファイル)はありますか?

4

1 に答える 1

4

djangodocshttps :django.core.mail.outbox //docs.djangoproject.com/en/dev/topics/testing/#email-servicesで説明されているように使用できます

from django.core import mail

assert len(mail.outbox) == 1
assert mail.outbox[0].subject == 'Subject here'

Lettuseはdjango.test.utils.setup_test_environment、電子メールバックエンドをlocmem電子メールバックエンドにオーバーライドするために使用します。

于 2011-11-21T12:12:21.257 に答える