SQLAlchemy と py.test に苦労しています。
私の場合、__init__.py
次を使用してエンジンとセッションを作成します。
engine = create_engine('sqlite://')
Session = sessionmaker(bind=engine)
session = Session()
私も と を持っていentity.py
ますtest_entity.py
。インポートする両方のファイルでsession
from __init__ import session
で、conftest.py
データベースをセットアップしてからスキーマを作成する関数を定義しましたBase.metadata
。
要点は、テスト モジュール内のすべてのトランザクションはすべて成功するが、テスト対象のクラス内のすべてのトランザクションはObject already bound to session
(オブジェクトの追加およびコミット時) またはOperationalError: no such table
(オブジェクトのフェッチ時) のようなエラーで失敗することです。
どうすれば修正できますか?