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(オブジェクトのフェッチ時) のようなエラーで失敗することです。
どうすれば修正できますか?