我最近为我创建的一个自定义类执行了此操作,该类包装了适用于 Python 的 Oracle MySQL 连接器。我会做类似以下的事情:
import unittest
import mysql.connector
class TestConnection(unittest.TestCase):
"""Oracle MySQL for Python Connector tests."""
connection = None
def setUp(self):
config = {
user = 'user',
password = 'password',
host = 'localhost',
database = 'test',
auth_plugin = 'mysql_native_password'
}
self.connection = mysql.connector.connect(**config)
def tearDown(self):
if self.connection is not None and self.connection.is_connected():
self.connection.close()
def test_connection(self):
self.assertTrue(self.connection.is_connected())
if __name__ == '__main__':
unittest.main()
该解决方案基于分别在每次测试之前和之后执行的setUp()
和tearDown()
方法。unittest
这允许我们连接到数据库,运行一个简单的连接测试,然后关闭连接。这确保了单元测试完成后没有挂起的连接。