创建 TestLogout.py
parent
4e64fb2422
commit
ded28f6a1e
|
|
@ -0,0 +1,34 @@
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from app.views import *
|
||||||
|
|
||||||
|
class LogoutTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# 设置 Flask 测试模式
|
||||||
|
app.testing = True
|
||||||
|
self.client = app.test_client()
|
||||||
|
|
||||||
|
def test_logout(self):
|
||||||
|
# 先登录,确保 session 是设置的
|
||||||
|
with self.client:
|
||||||
|
self.client.post('/login', data=dict(
|
||||||
|
number='G0001',
|
||||||
|
password='1'
|
||||||
|
))
|
||||||
|
|
||||||
|
# 确认登录后session中有数据
|
||||||
|
self.assertIn('number', session)
|
||||||
|
|
||||||
|
# 执行logout
|
||||||
|
response = self.client.get('/logout')
|
||||||
|
|
||||||
|
# 确认 session 被清空
|
||||||
|
self.assertNotIn('number', session)
|
||||||
|
|
||||||
|
# 确认响应是重定向到登录页面
|
||||||
|
self.assertEqual(response.status_code, 302)
|
||||||
|
self.assertTrue(response.location.endswith('/login'))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue