小编See*_*Bee的帖子

如何在路线上的多个表格中对表单提交进行单元测试?

我想在我的烧瓶应用程序中添加单元测试,以测试有效和无效登录+注册时的表单行为.目前,我在一个页面和路由上托管了注册表单和登录表单,并使用隐藏的输入字段来标识提交的两个表单中的哪一个/确定下一个操作.

我的问题是 - 如何编写针对页面上特定表单的单元测试?到目前为止,我看到的所有示例都将数据发布到特定路径,这正是我正在做的事情.但这是失败的,因为我需要一种额外的方式来说"我们正在提交x形式".

那么有没有办法在帖子请求中添加"我们正在提交x表单"?

**编辑添加,以下是我试图在后期数据字典中传递隐藏表单数据的不同方法,但没有成功.

data = dict(username="test@gmail.com", password="test", login_form) 
data = dict(username="test@gmail.com", password="test", "login_form")
data = dict(username="test@gmail.com", password="test", login_form=True)
Run Code Online (Sandbox Code Playgroud)

登录单元测试:

from app import app
import unittest

class FlaskTestCase(unittest.TestCase):

  #ensure that login works with correct credentials
  def test_correct_login(self):
    tester = app.test_client(self)
    response = tester.post(
      '/login',
      data = dict(username="test@gmail.com", password="test"),
      follow_redirects=True
      )
    self.assertIn(b'you are logged in', response.data)
Run Code Online (Sandbox Code Playgroud)

views.py中的登录路由:

@app.route('/login', methods=['POST', 'GET'])
def login():
  login_form = LoginForm()
  signup_form = SignupForm()
  error_login = ''
  error_signup = ''

  #login form
  if 'login_form' in …
Run Code Online (Sandbox Code Playgroud)

html python forms unit-testing flask

8
推荐指数
2
解决办法
2777
查看次数

标签 统计

flask ×1

forms ×1

html ×1

python ×1

unit-testing ×1