Я изучаю, как тестировать функции в Python с помощью Mock. Я пытаюсь написать тест для простой функции,Python Mock Testing to moker session
@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")
Однако, я застрял на том, чтобы попытаться («UID») значения издеваться session.get. До сих пор это была моя попытка,
@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