2016-10-04 5 views
0

私はDjango + Pythonの新機能ですから、この質問のどれくらい意味があるのか​​分かりません。テスト変数の中でビュー関数 - 返りません

私は、views.pyファイル内に機能を持つプロジェクト(私が作成したものではない)に取り組んでいます。このビュー機能の目的は、HTTP応答を送信するのではなく、電子メールを送信することです。

それを介してループするデータを含むパラメータ(要求として受け付ける - それのいくつかの電子メールに挿入さを

関数の端部はemail_extrals.utils関数send_mail_templateにコールを行い(さまざまな変数が渡されます)。

私の問題は、本質的に何も返さない(実際には電子メールを送信する)この関数のテストを書いてみたいということです。 API。

このテストの目的は、特定のバリエbleがリクエストデータに存在する場合、それらはsend_email_template()コールに渡される変数に存在する必要があります。だから私は関数内の変数をテストしています。返されるものではありません。

私は何とかそれらをテストするために関数の内部変数にアクセスする方法が必要です。

私はこれをテストする方法を考えることができず、この時点で私は壁に頭を打っています。私がビューのためにオンラインで見つけることができるテスト情報は、主に単にレスポンスやさまざまなモデル関連の問題をテストすることです。

正しい方向へのプッシュは大きな助けになります。ドキュメントへのリンクまたは同様のものの基本的な例

おかげで、 ディーン

は、このアプローチする
+0

おそらく、第1の呼び出しがリクエストを受け取り、電子メールを送信し、それをテストするのに必要なすべてのものを返す第2の関数を作成します。 – castis

答えて

1

一つの方法は、それが必要な引数値で呼び出されたことを確認除いて何もしないsend_email_template()の独自の偽のバージョンを作成することで、彼らが間違っている場合は例外を発生させます。

あなたのテストセットアップでは、は、の本物のsend_email_template()をあなたの偽のものに置き換えます。これはMockingと呼ばれます。

ちょうどあなたの偽の機能が実際にと呼ばれるであったと主張したいと思います。

+0

あなたは先祖です。どうもありがとうございました。 –

関連する問題