Другое решение - добавить слушателя при создании элемента. Вместо того, чтобы помещать слушателя в тело, вы помещаете слушателя в элемент в тот момент, когда вы его создаете:
var myElement = $('<button/>', {
text: 'Go to Google!'
});
myElement.bind( 'click', goToGoogle);
myElement.append('body');
function goToGoogle(event){
window.location.replace("http://www.google.com");
}
Начиная с Flask 1.0, response.get_json()
будет анализировать данные ответа как JSON или поднять ошибку.
response = c.get("/")
assert response.get_json()["message"] == "hello world"
jsonify
устанавливает тип содержимого в application/json
. Кроме того, вы можете попробовать проанализировать данные ответа как JSON. Если это не удается проанализировать, ваш тест не удастся.
from flask import json
assert response.content_type == 'application/json'
data = json.loads(response.get_data())
assert data['message'] == 'hello world'
Как правило, этот тест сам по себе не имеет смысла. Вы знаете, что это JSON, так как jsonify
возвращен без ошибок, а jsonify
уже проверен Flask. Если это недействительно JSON, вы получили бы ошибку при сериализации данных.
Для него есть python-библиотека.
import json
#...
def checkJson(s):
try:
json.decode(s)
return True
except json.JSONDecodeError:
return False
Если вы также хотите проверить, является ли она допустимой строкой, проверьте границы для «s». Вы можете прочитать справку здесь, на питонах сайт https://docs.python.org/3.5/library/json.html .