私はクラスを持っています:
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__
に役立つと思われるものは何も見つかりませんでした。