在 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 中,通过echo
在引擎上设置标志来启用对 STDOUT 的跟踪
engine.echo=True
编写计算 SQLAlchemy 查询次数的测试的最佳方法是什么?
class SendData(TestCase):
def test_send(self):
event = session.query(Events).first()
s = str(event)
self.assertEquals( ... , 2)