Django では、単体テストで新しい N+1 クエリの問題をキャッチするために、作成する必要があるクエリの数をアサートすることがよくあります。
from django import db
from django.conf import settings
settings.DEBUG=True
class SendData(TestCase):
def test_send(self):
db.connection.queries = []
event = Events.objects.all()[1:]
s = str(event) # QuerySet is lazy, force retrieval
self.assertEquals(len(db.connection.queries), 2)
echo
SQLAlchemy では、エンジンにフラグを設定することで、STDOUT へのトレースが有効になります。
engine.echo=True
SQLAlchemy によって作成されたクエリの数をカウントするテストを作成する最良の方法は何ですか?
class SendData(TestCase):
def test_send(self):
event = session.query(Events).first()
s = str(event)
self.assertEquals( ... , 2)