assertNumQueries的扩展,可以记录执行过的查询,并在未来的运行中显示差异。
项目描述
assertNumQueries的扩展,可以记录执行过的查询,并在未来的运行中显示差异。它还会显示查询被调用的跟踪。
文档
快速入门
安装 dj-test-queries
pip install dj-test-queries
将 NumQueriesMixin 应用到您的测试中,并像平常一样使用 assertNumQueries
from test_queries import NumQueriesMixin
class XYZTests(NumQueriesMixin, TestCase):
def test_xyz(self):
with self.assertNumQueries(3):
xyz()
生成SQL日志记录
使用 TEST_QUERIES_REWRITE_SQLLOGS 环境变量运行测试以生成sqllog文件
TEST_QUERIES_REWRITE_SQLLOGS="true" manage.py test
如 test_views.XYZTests.test_xyz.sqllog 的文件将出现在您的 test_views.py 文件旁边的 sqllog 目录中。
如果您下次运行测试并且查询与之前不同,测试将打印出详细说明变化的输出,其中包括查询执行处的堆栈跟踪。您还可以将 *.sqllog 文件列入您的存储库以查看更改。
如果没有使用 TEST_QUERIES_REWRITE_SQLLOGS 环境变量执行测试,日志将创建为名为 test_views.XYZTests.test_xyz.sqllog 的文件,以便进行比较。
运行测试
代码真的能工作吗?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
开发命令
pip install -r requirements_dev.txt invoke -l
致谢
用于渲染此包的工具
历史
0.3.0 (2024-05-16)
将输出消息输出到错误报告并替换Django SQL输出
在比较之前对查询进行排序
将堆栈跟踪和其他信息存储在.sqllog.full_record文件中
0.2.2 (2023-08-26)
DDT 3.8.1的真正修复
0.2.1 (2023-08-24)
移除DDT版本要求
0.2.0 (2023-08-15)
针对DDT新版本的修复(在3.8.1 - 4.2.0中测试过)
自动测试
0.1.0 (2023-04-21)
在PyPI上的首次发布。
项目详情
关闭
dj-test-queries-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f3d2ff683eafe0b5b528b4751d5481ad0efb07a17b38bd6cdfb078f54adff916 |
|
MD5 | 3f0628ba328bff4da1704095351996af |
|
BLAKE2b-256 | 2c5db35add8c39fa610b0a5e4043841510b478debb75eaa0cff05cd2393e7b23 |
关闭
dj_test_queries-0.3.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8cf6a36559a4147c0f3468568a7caec0984ebea2277a5fcdff7da95a728e5851 |
|
MD5 | 721660322be7b67e449f2d53b0c0285e |
|
BLAKE2b-256 | 67c645522bf10d2047413c8af98d3544284f435528d0b8b0c224085aa86849dc |