创建 TestLogin.py
parent
9b519f4650
commit
6ef3faf149
|
|
@ -0,0 +1,45 @@
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from app.views import *
|
||||||
|
from db.database_manager import DatabaseManager # 确保你可以导入DatabaseManager
|
||||||
|
|
||||||
|
class LoginTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# 设置 Flask 测试模式
|
||||||
|
app.testing = True
|
||||||
|
self.client = app.test_client()
|
||||||
|
|
||||||
|
def test_login_get(self):
|
||||||
|
# 测试 GET 请求返回登录页面
|
||||||
|
response = self.client.get('/login')
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
self.assertIn('text/html', response.content_type)
|
||||||
|
|
||||||
|
def test_successful_login_post(self):
|
||||||
|
# 测试有效的登录 POST 请求
|
||||||
|
with self.client:
|
||||||
|
response = self.client.post('/login', data={
|
||||||
|
'number': 'G0001',
|
||||||
|
'password': '1'
|
||||||
|
})
|
||||||
|
# 根据你的应用逻辑调整断言
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
|
def test_invalid_login_post(self):
|
||||||
|
# 测试无效的登录 POST 请求
|
||||||
|
response = self.client.post('/login', data={
|
||||||
|
'number': 'admin',
|
||||||
|
'password': 'admin'
|
||||||
|
})
|
||||||
|
# 将返回的数据解析为JSON
|
||||||
|
json_data = response.get_json()
|
||||||
|
|
||||||
|
# 确认JSON响应中的值
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
self.assertFalse(json_data['success'])
|
||||||
|
self.assertEqual(json_data['message'], "无效的用户名或密码")
|
||||||
|
|
||||||
|
# 运行测试
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue