web-dev-qa-db-ja.com

Python RESTful APIのユニットテスト

Pythonで電子メール機能(パスワードの紛失、ユーザーのアクティブ化)を含むRESTful APIの単体テストを実行するための最良の方法は何ですか?

すべてがHTTP経由で行われますPOST/GETで、現時点では認証は行われていません。

requestsライブラリを使用して、必要なすべてを手動で実行する必要がありますか? requestsを使用して、ユニットテストの電子メールに関する部分を自動化することはできますか?

13
Josh Usre

多くの場合、REST apiの実装に使用するWebフレームワークは、単体テストのサポートも提供します。次に例を示します。

これらのテストクラスは、リクエストをフレームワークのUrlディスパッチャーに直接プラグインするショートカットです。これにより、空きポートを見つけ、「実際の」サーバーを生成し、単体テストからhttpクライアントを接続するという手間が省けます。

メール送信に関しては:TestCase.setUp 方法。電子メール送信モジュール/クラスへの参照を別のモジュール/クラスに変更するだけです。これにより、送信電子メールが電子メールではなく評価のために単体テストにループバックされます。

13