Привет, хочу проверить «удалить маршрут» в моем приложении с флягой в терминале. Я вижу, что тест прошел, и он сказал: «test_user_delete (test_app.LayoutTestCase) ... ok» Но когда я открываю титульную страницу, он все еще имеет красный цвет, что означает, что он не покрывает его, пожалуйста, кто-нибудь объяснит мне, почему и где я делаю неправильно?Test Coverage for Flask application does not work
app.layout.view.py
test.py
e1 = Users(name='admine2', email='[email protected]', age=25)
e2 = Users(name='teste2', email='[email protected]', age=27)
db.session.add_all([e1, e2])
db.session.commit()
u = Users.query.get(1)
db.session.remove()
db.session.delete(u)
response = self.client.post('/delete/1',
follow_redirects=True)
self.assertTrue('admine2 is removed!', response.data)
view.py:
@layout.route('/delete/<int:id>')
def delete(id):
"""remove monkey"""
user = Users.query.get_or_404(id)
db.session.delete(user)
db.session.commit()
flash("{0} is removed!".format(user.name))
return redirect(url_for("layout.user", page=1, sortby='normal'))
Try изменить 'self.assertTrue ('Delete сделано!', Response.data)' 'от self.assertEqual (» delete done! ', response.data) ': вы ничего не тестируете, теперь ваше предложение' self.assertTrue() 'всегда истинно. Я не эксперт Falsh, но насколько я знаю, 'flash()' сообщение не в ответе, но вы можете найти где-то еще. –
thnx @ Micheled'Amico Я получил эту ошибку AssertionError: 'delete done!' ! = ' \ n
Не найдено
\ nЗапрашиваемый URL-адрес не найден на сервере. Если вы указали URL вручную, проверьте правильность написания и повторите попытку.
\ n ' – LiLiЭто означает, что вы не вызываете страницу удаления (как предложено покрытие). Первый тест 'response.code == 200' (я угадываю ...), чтобы убедиться, что вы вызываете его и тестовый db для пользователя. –