2017-10-24 1 views
2

テスト目的でsqliteデータベースをmonkeypatchする方法は? ORM.pyファイルで

from peewee import * 
db = SqliteDatabase('database.db') 

class Device(Model): 
    uid = CharField(unique=True, max_length=17) 

    class Meta: 
     database = db 

今私はtest.db

from _pytest.monkeypatch import MonkeyPatch 

@pytest.fixture(scope="session") 
def monkeysession(request): 
    mp = MonkeyPatch() 
    yield mp 
    mp.undo() 


@pytest.fixture(scope='session', autouse=True) 
def create_db(monkeysession, request): 
    monkeysession.setattr(ORM, 'db', SqliteDatabase('test.db')) 

しかし、私のエラー(peewee.OperationalErrorでorginalデータベースdatabase.dbをモンキーパッチしたいtest.pyに:テーブル "デバイス"既に存在している)は、Monkeypatchが失敗したことを示唆します。

答えて

関連する問題