我有一门课:
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
的连接。如果不实例化这个类,我就不能测试函数。我想以某种方式在Test类中模拟__init__
方法,但我在documentation中找不到任何有用的东西。
https://stackoverflow.com/questions/17836939
复制相似问题