dra*_*ams 2 python python-unittest mysql-connector-python python-unittest.mock
我是 Python 单元测试的新手,我不确定如何创建此函数的单元测试以返回连接?
def connection(self):
connection = mysql.connector.connect(host='localhost',
database='test',
user='user',
password='password',
auth_plugin='mysql_native_password')
return connection
Run Code Online (Sandbox Code Playgroud)
您可以模拟mysql.connector.connect并确保它被调用,但老实说,这可能是一个太小的单元,无法为您的单元测试提供任何好处。这只是委托对 的调用mysql.connector.connect,它本身应该被测试(通过mysql包)。
class TestConnection(unittest.TestCase):
@unittest.mock('module_under_test.mysql.connector.connect')
def test_connection(self, mockconnect):
module_under_test.connection()
mockconnect.assert_called()
Run Code Online (Sandbox Code Playgroud)
我想您还可以检查以确保它总是返回一些内容(以防止将来的修订忘记return退出该功能。
# inside test_connection as above
connection = module_under_test.connection()
self.assertIsNotNone(connection)
mockconnect.assert_called()
Run Code Online (Sandbox Code Playgroud)