我有一堂课:
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__
在测试类中以某种方式模拟该方法,但我没有在文档中找到任何似乎有用的东西。