当前位置:  开发笔记 > 编程语言 > 正文

看不到django测试用例插入的记录

如何解决《看不到django测试用例插入的记录》经验,为你挑选了1个好方法。

我试图通过post commit钩子从subversion提供我的django应用程序的集成.

我有一个django测试用例(unittest.TestCase的子类),它(a)将一些记录插入表中,(b)生成一个svn提交,(c)svn commit运行一个使用我的django模型查看的钩子信息.

我正在使用sqlite3 db.测试没有使用:memory:db,它使用的是真实文件.我已经修改了django测试代码(用于调试此问题),以避免在完成后删除测试数据库,以便我可以检查它.

测试代码转储model.MyModel.objects.all(),记录位于(a)和(b)之间.

当钩子在(c)处触发时,它也会转储模型并且没有记录.在测试运行后手动检查数据库时,没有记录.

django测试框架中是否存在未将记录提交到db文件的情况?

澄清:(d)结束测试用例.因此,svn commit hook在测试用例终止之前运行,并且应该在运行任何django db cleanup代码之前运行.

额外信息:我在(b)和(b)之间添加了15秒的延迟,以便我可以在测试过程中手动检查db文件.记录不在文件中.



1> Vinay Sajip..:

你在使用Django主干吗?最近的更改(Changeset 9756)在事务中运行测试,然后回滚.这是签到的评论:

修复了#8138 - 将django.test.TestCase更改为回滚测试(当数据库支持时),而不是刷新并重新加载数据库.这可以大大减少运行大型测试套件所需的时间.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有