本番コードでは
# ここでdbを読み込み、SQLAlchemy はこのオブジェクトの変更を 自動的に追跡
user = User.query.filter_by(verification_token=token).first()
"""
dbに情報を追加
"""
db.session.commit() # 最後に変更を確定させる
のように実際に存在するdbを操作するため、ここで呼び出してそこからは自動で追跡するから最後にdb.session.commit()を使う
テストコードでは
# helper.py
from models import User
def create_test_user(): # テストユーザーを作成
user = User()
return user
# test_route.py
from helper import create_test_user
user = create_test_user() # テストユーザーモデルを呼び出す
db.session.add(user) #ここでセッションに追加、dbの追跡開始
db.session.commit()
のように実際のdbに触れないようにテスト専用のdbを利用するからdb.session.add(user)この操作が必要