""" 测试 MySQLDatabase 类 """ import pytest import pymysql from loguru import logger import sys import os # 添加项目路径 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) from dataService.MySqlService import MySQLDatabase, DatabaseConfig class TestMySQLDatabase: """MySQLDatabase 类测试""" def setup_method(self): """每个测试方法前的设置""" logger.remove() logger.add(sys.stderr, level="DEBUG") def test_database_config(self): """测试数据库配置""" assert DatabaseConfig.HOST == "192.168.123.199" assert DatabaseConfig.PORT == 3306 assert DatabaseConfig.USER == "root" assert DatabaseConfig.PASSWORD == "GUOxy5157" assert DatabaseConfig.DB == "LookingWeb" logger.info("数据库配置正确") def test_create_connection_exists(self): """测试创建连接对象""" connection = MySQLDatabase.create_connection() assert connection is not None logger.info("数据库连接对象创建成功") connection.close() def test_connection_has_attributes(self): """测试连接对象有必需的属性""" connection = MySQLDatabase.create_connection() assert hasattr(connection, 'host') assert hasattr(connection, 'port') assert hasattr(connection, 'user') assert hasattr(connection, 'password') assert hasattr(connection, 'db') assert hasattr(connection, 'connection') assert hasattr(connection, 'connect') assert hasattr(connection, 'query') assert hasattr(connection, 'execute') assert hasattr(connection, 'close') logger.info("连接对象具有所有必需的属性和方法") connection.close() def test_connection_close(self): """测试关闭连接""" connection = MySQLDatabase.create_connection() connection.close() assert connection.connection is None logger.info("关闭连接成功") def run_tests(): """运行所有测试""" pytest.main([ __file__, "-v", "--tb=short", "--log-cli-level=INFO" ]) if __name__ == "__main__": run_tests()