Я использую Python 3.3 в среде Anaconda.Как mock sqlite3.connect в Python
Я хотел бы высмеять sqlite3.connect. Например, в MyTests (см. Ниже), я бы хотел, чтобы test_sqlite3_connect вернул строку «соединение», а не фактический объект sqlite3.Connection.
Я пытался его исправить, но это не работает.
from unittest.mock import patch
import unittest
import sqlite3
@patch('sqlite3.connect')
def sqlite3_connect(self,connection_string):
print('connect with : {0}'.format(connection_string))
return 'connection '
class MyTests(unittest.TestCase):
def test_sqlite3_connect(self):
print('testing connection')
dbc = DataBaseClass()
class DataBaseClass():
def __init__(self):
print('initialising database class')
self.connection = sqlite3.connect('test database')