35 lines
924 B
Python
35 lines
924 B
Python
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()
|