我正在尝试测试我的 Django 应用程序中 API 执行的数据库查询的数量。所以,我有一个类似于以下的测试用例:
class DatabaseQueriesTestCase(TestCase):
scan_uri = "something"
def test_API_1(self):
payload = {
'id': 12,
'name': "ABCD"
}
self.assertNumQueries(13, self.client.post, self.scan_uri, data=payload)
在多次运行测试时,一些通过而另一些失败。一些失败
,表示运行了另一个查询。为什么会这样?这是 assertNumQueries 的问题吗??
注意:在我的应用程序中使用 Redis 缓存..
最佳答案
我在 setUp()
中清除了我的缓存:
def setUp(self):
# cleared cache
# in my case: self.redis_conn.flushdb()
这解决了问题。您可以找到有关与 assertNumQueries
here 相关的此类问题的有用讨论。
非常感谢@Daniel Hepper 帮助我!!!
关于python - assertNumQueries 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40147274/