测试登录需要 Flask 应用程序

Test Login Required Flask Application

我正在为 Flask Web 应用程序编写测试,每个测试都需要用户登录 有什么方法可以定义测试功能并在其他测试中使用它吗? 这是我当前的测试用例,我想使用 post 到 API URL

来实现登录功能
class TestLogin(unittest.TestCase):
   def setUp(self):
       self.headers = {'Content-type':'application/json','Accept':'tex/plain')
   def test_login(self):
      s=request.Session()
      url = 'http://localhost/api/v1/user/login/'
      data = {'username' = 'admin','password' :'123123'}
      r=s.post(url,data=json.dumps(data),headers=self.headers)
      self.assertEqual(r.status_code,200)

您可以创建一个单独的登录功能。例如

  def login():
      s = request.Session()
      url = 'http://localhost/api/v1/user/login/'
      data = {'username' = 'admin','password' :'123123'}
      r=s.post(url,data=json.dumps(data),headers=self.headers)
      return (r.status_code == 200)

然后从您的测试中调用它:

 def test_something(self):
      if(login()):
         #Test stuff