Python 带测试瓶的布线

Python 带测试瓶的布线,python,flask,flask-testing,Python,Flask,Flask Testing,我有一个删除路线,我想测试它,但得到了这个错误,我认为这是因为路线问题,如果你能帮助我,我将非常感激 因此当我删除一个用户时,它将指向页面“//127.0.0.1:5000/user/1?sortby=normal&id=1”,并说“删除完成!” 我真的需要帮助,我还评论了删除路由中需要的@login\u,但仍然不起作用 ps:布局就是蓝图 以下是错误: Traceback (most recent call last): File "/home/peg/flask-Alembic/test

我有一个删除路线,我想测试它,但得到了这个错误,我认为这是因为路线问题,如果你能帮助我,我将非常感激 因此当我删除一个用户时,它将指向页面“//127.0.0.1:5000/user/1?sortby=normal&id=1”,并说“删除完成!” 我真的需要帮助,我还评论了删除路由中需要的@login\u,但仍然不起作用

ps:布局就是蓝图

以下是错误:

Traceback (most recent call last):
  File "/home/peg/flask-Alembic/test/test_app.py", line 47, in test_user_delete
    response = self.client.get(url_for('/user/{0}?sort=normal&monkey='.format(u1.id),follow_redirects=True))
  File "/usr/local/lib/python2.7/dist-packages/flask/helpers.py", line 312, in url_for
    return appctx.app.handle_url_build_error(error, endpoint, values)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1641, in handle_url_build_error
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/helpers.py", line 305, in url_for
    force_external=external)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/routing.py", line 1616, in build
    raise BuildError(endpoint, values, method)
BuildError: ('layout.user/1?sort=normal&monkey=&id=1', {'follow_redirects': True}, None)
test_app.py:

 def test_user_delete(self):
        e1 = Users(name='admine2', email='admine2@gmail.com', age=25)
        db.session.add(e1)
        db.session.commit()
        u1= Users.query.get(e1.id)
        print('{0}').format(u1.id)
        response = self.client.get(url_for('layout.user/{0}?sort=normal&monkey='.format(u1.id),follow_redirects=True))
        self.assertEqual('delete done !.', response.data)
route.py:

@layout.route('/delete/<int:id>')
@login_required
def delete(id):
  """remove monkey"""
  user = Users.query.get(id)
  if g.user.id == user.id:
           flash('You are not allow to delete yourself.')

  else:
      db.session.delete(user)
      db.session.commit()
      flash('delete done !.')
  return redirect(url_for('layout.user',id=id, page=1,sortby='normal'))
@layout.route(“/delete/”)
@需要登录
def删除(id):
“移除猴子”
user=Users.query.get(id)
如果g.user.id==user.id:
flash(“不允许您删除自己”。)
其他:
db.session.delete(用户)
db.session.commit()
闪存(“删除完成!”)
返回重定向(url_for('layout.user',id=id,page=1,sortby='normal'))

由于您调用

response = self.client.get(url_for('layout.user/{0}?sort=normal&monkey='.format(u1.id),follow_redirects=True))
编辑

你应该把电话改成

response = self.client.get(url_for('layout.delete', id=u1.id), follow_redirects=True)

有关如何使用蓝图和

断言错误的
url\u的信息,请参阅:'delete done!'!='\n404找不到\n找不到\n在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写@Zyber出现此错误如果您使用URL\u,则需要指定要使用的蓝图。看我的编辑@lili你看过昨天的帖子了吗?你又在问同样的问题了!我没有问同样的问题在测试中更改删除,得到了错误@philmaweb,是的,我检查了include-ur-comment中的所有命令,但不起作用