Djangoのユニットテスト内で発行されたクエリをキャプチャする
CaptureQueriesContextを利用すればクエリをキャプチャできたのでメモ。
こんな感じで使える
from django.db import connection from django.test.utils import CaptureQueriesContext with CaptureQueriesContext(connection) as ctx: # test method for q in ctx.captured_queries: print(f"time{q['time']}, sql:{q['sql']}") print(len(ctx.captured_queries))