1
私はMockを使ってPythonで関数をテストする方法を学んでいます。私は Python Mockセッションを模擬するためのテスト
@social.route('/friends', methods=['GET', 'POST'])
def friends():
test_val = session.get('uid')
if test_val is None:
return redirect(url_for('social.index'))
else:
return render_template("/home.html")
はしかし、私は試してみて、モックsession.get(「UID」)の値にどのように立ち往生しています、シンプルな機能のためのテストを記述しようとしています。これまでのところ、これは私の試みであったが、
@patch('session', return_value='')
@patch('flask.templating._render', return_value='')
def test_mocked_render(self, mocked, mock_session):
print "mocked", repr(self.app.get('/social/friends').data)
print "was _render called?", mocked.called
この試みは完全に間違っている可能性があり、これは間違いなく、私はまだセッションを模擬することはできませんよと間違った方法です。しかし、誰かがこれを介して正しい方法で私を導くことができますか?ありがとう。
あなたがセッション(またはテンプレートのレンダリング)をモックではないでしょうフラスコのドキュメントで説明したように、あなたはテストクライアントを使用します。なぜあなたはこれを嘲笑しようとしていますか? – davidism
私はこの方法をテストするために嘲笑される必要があると仮定していました。また、いくつかのデータベース呼び出しがあります。これは、私が理解する限り、テストするために嘲笑される必要があります。この関数をどのようにテストするかのサンプルコードを私に教えてください。 – user2297790