私はタスクスケジューリングシステムの一部であるFlaskアプリケーションを持っています。多くのルートのビジネスロジックは現在の時間に依存しています。タイムスタンプに依存するFlaskアプリのユニットテストパターン?
@app.route("/do_stuff")
def do_stuff():
now = datetime.datetime.now()
call_func(request.args.get("some_arg"), now)
これらの機能をテストする必要があります。テストではタイムスタンプを偽装する必要があるため、さまざまなコマンドがいつ届くかによってアプリが適切に応答することを確認できます。
Flaskにこれらの種類のテストを書くための標準パターンはありますか?私はそれを行うために、clunky、DRY以外の方法の束を考えることができます。それ以上のエレガントなパターン/ツールがあるのだろうか?
一般的なFlaskテストには、 'pytest'と' pytest-flask'を使用できます。 'datetime.datetime.now()'のなりすましについては、[この回答](http://stackoverflow.com/questions/23988853/how-to-mock-set-system-date-in-pytest)を参照してください。 –