2017-10-24 10 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을 monkeypatch 싶은 test.py의 : 테이블 "장치" 이미 존재 함)는 Monkeypatch가 실패했다는 것을 암시합니다.

답변