問題タブ [flask-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2310 参照

python - Flask ビューのテスト: データがデータベースに保存されないようにするにはどうすればよいですか?

初期化されたSQLAlchemyを備えたアプリがあります:

私が取り組んでいるビューは、すべてのユーザーをjson形式で返すだけです:

そして私のテスト:

私は自分のテストを実行しますFLASK_CONFIG=testing nosetests(そして私がチェックしたところ、app.testingはtrueに設定されています)。

これを私の psql データベースに対して実行すると、データベースに追加したこれらのユーザーが保存されていることがわかりました!

これが起こらないようにするにはどうすればよいですか? 何もしないように db.session.commit() を上書きしようとしましたが、ビューを呼び出すとデータベースがロールバックします。を使用する代わりの方法はありtest_client()ますか? jsonify応答以外の場所にデータを返すことができないため、メソッドを直接呼び出すことはできません。

更新:ここに私の一時的な(?)解決策があります:

これで、テストで jsonify() を使用する必要がなくなりました

0 投票する
1 に答える
11271 参照

python - Flask test_clientでリクエスト引数を設定するには?

から特定の情報を取得する特定のビューをテストする必要がありrequest.argsます。

ビュー内の多くのものがリクエストオブジェクトを使用しているため、これをモックすることはできません。私が考えることができる唯一の代替手段は、手動で設定することrequest.argsです。

私はtest_request_context()、例えば、でそれを行うことができます:

このビュー内のリクエストには、設定した引数が含まれます。ただし、ビューを初期化するだけでなく、ビューを呼び出す必要があるため、これを使用します。

しかし、この方法でリクエスト引数を操作する方法がわかりません。

私はこれを試しました:

しかし、これは設定されませんrequest.args