Skip to content

Commit 4b69050

Browse files
author
王飞
committed
增加单元测试方法。test_get_tables_metas_data
1 parent 1d93484 commit 4b69050

File tree

1 file changed

+44
-14
lines changed

1 file changed

+44
-14
lines changed

sql/engines/test_mysql.py

+44-14
Original file line numberDiff line numberDiff line change
@@ -81,27 +81,41 @@ def test_get_tables_metas_data(self, connect):
8181
mock_cursor = Mock()
8282
connect.return_value = mock_conn
8383
mock_conn.cursor.return_value = mock_cursor
84-
85-
# 模拟查询结果
86-
tables_result = [
87-
{"TABLE_SCHEMA": "test_db", "TABLE_NAME": "test_table"}
88-
]
89-
84+
85+
# 模拟查询结果
86+
tables_result = [{"TABLE_SCHEMA": "test_db", "TABLE_NAME": "test_table"}]
87+
9088
columns_result = [
91-
{"COLUMN_NAME": "id", "COLUMN_TYPE": "int", "COLUMN_DEFAULT": None, "IS_NULLABLE": "NO", "EXTRA": "auto_increment", "COLUMN_KEY": "PRI", "COLUMN_COMMENT": ""},
92-
{"COLUMN_NAME": "name", "COLUMN_TYPE": "varchar(255)", "COLUMN_DEFAULT": None, "IS_NULLABLE": "YES", "EXTRA": "", "COLUMN_KEY": "", "COLUMN_COMMENT": ""}
89+
{
90+
"COLUMN_NAME": "id",
91+
"COLUMN_TYPE": "int",
92+
"COLUMN_DEFAULT": None,
93+
"IS_NULLABLE": "NO",
94+
"EXTRA": "auto_increment",
95+
"COLUMN_KEY": "PRI",
96+
"COLUMN_COMMENT": "",
97+
},
98+
{
99+
"COLUMN_NAME": "name",
100+
"COLUMN_TYPE": "varchar(255)",
101+
"COLUMN_DEFAULT": None,
102+
"IS_NULLABLE": "YES",
103+
"EXTRA": "",
104+
"COLUMN_KEY": "",
105+
"COLUMN_COMMENT": "",
106+
},
93107
]
94108
# 创建要测试的类的实例
95109
new_engine = MysqlEngine(instance=self.ins1)
96110
# Mock self.query 方法
97111
new_engine.query = Mock()
98112
new_engine.query.side_effect = [
99113
Mock(rows=tables_result), # 模拟 tbs 结果
100-
Mock(rows=columns_result) # 模拟 columns 结果
114+
Mock(rows=columns_result), # 模拟 columns 结果
101115
]
102116
# 调用要测试的方法
103117
result = new_engine.get_tables_metas_data(db_name="test_db")
104-
118+
105119
# 断言返回结果是否符合预期
106120
expected_result = [
107121
{
@@ -116,12 +130,28 @@ def test_get_tables_metas_data(self, connect):
116130
],
117131
"TABLE_INFO": {"TABLE_SCHEMA": "test_db", "TABLE_NAME": "test_table"},
118132
"COLUMNS": [
119-
{"COLUMN_NAME": "id", "COLUMN_TYPE": "int", "COLUMN_DEFAULT": None, "IS_NULLABLE": "NO", "EXTRA": "auto_increment", "COLUMN_KEY": "PRI", "COLUMN_COMMENT": ""},
120-
{"COLUMN_NAME": "name", "COLUMN_TYPE": "varchar(255)", "COLUMN_DEFAULT": None, "IS_NULLABLE": "YES", "EXTRA": "", "COLUMN_KEY": "", "COLUMN_COMMENT": ""}
121-
]
133+
{
134+
"COLUMN_NAME": "id",
135+
"COLUMN_TYPE": "int",
136+
"COLUMN_DEFAULT": None,
137+
"IS_NULLABLE": "NO",
138+
"EXTRA": "auto_increment",
139+
"COLUMN_KEY": "PRI",
140+
"COLUMN_COMMENT": "",
141+
},
142+
{
143+
"COLUMN_NAME": "name",
144+
"COLUMN_TYPE": "varchar(255)",
145+
"COLUMN_DEFAULT": None,
146+
"IS_NULLABLE": "YES",
147+
"EXTRA": "",
148+
"COLUMN_KEY": "",
149+
"COLUMN_COMMENT": "",
150+
},
151+
],
122152
}
123153
]
124-
154+
125155
self.assertEqual(result, expected_result)
126156

127157
@patch.object(MysqlEngine, "query")

0 commit comments

Comments
 (0)