В 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)
В SQLAlchemy трассировка на STDOUT включена, установив флаг echo
двигатель
engine.echo=True
Каков наилучший способ написать тесты, которые подсчитывают количество запросов, сделанных SQLAlchemy?
class SendData(TestCase):
def test_send(self):
event = session.query(Events).first()
s = str(event)
self.assertEquals( ... , 2)