У меня есть класс:
class DatabaseThing():
def __init__(self, dbName, user, password):
self.connection = ibm_db_dbi.connect(dbName, user, password)
Я хочу протестировать этот класс, но с тестовой базой данных. Поэтому в моем тестовом классе я что-то вроде этого:
import sqlite3 as lite
import unittest
from DatabaseThing import *
class DatabaseThingTestCase(unittest.TestCase):
def setUp(self):
self.connection = lite.connect(":memory:")
self.cur = self.connection.cursor()
self.cur.executescript ('''CREATE TABLE APPLE (VERSION INT, AMNT SMALLINT);
INSERT INTO APPLE VALUES(16,0);
INSERT INTO APPLE VALUES(17,5);
INSERT INTO APPLE VALUES(18,1);
INSERT INTO APPLE VALUES(19,15);
INSERT INTO APPLE VALUES(20,20);
INSERT INTO APPLE VALUES(21,25);''')
Как я могу использовать это соединение, чем соединение из класса, который я хочу проверить? Значение используется для соединения из setUp(self)
вместо соединения из DatabaseThing
. Я не могу проверить функции без создания экземпляра класса. Я хочу как-то издеваться над методом __init__
в тестовом классе, но я не нашел ничего полезного в документации .