0

我正在运行一个 Django 1.8 站点,它背后有一个大型数据库(它基本上是这个数据库上的一个 GUI)。我有一些管理命令可以将完整的数据集加载到数据库中。

这是一个相当复杂的过程(因为数据集很大,并且设置涉及创建物化视图等)。因此,一旦完成,我想测试数据是否已正确加载到数据库中。

例如,我可能会测试总共有正确的行数,并且各种示例查询给出了我期望的结果。

我的 Django 项目中是否有预期的地方可以做到这一点?

感觉与由夹具填充的单元测试(它是真实的、大型数据集)或检查前端是否给出预期结果的功能测试有点不同。

任何建议将不胜感激。现在我的想法是我应该创建另一个管理命令来运行这些测试查询。

4

2 回答 2

0

为什么不在使用此测试数据填充数据库后(在管理任务、脚本等结束时)检查它?您可以将其实现为单独的 pytho 脚本/函数,并在需要时调用。

于 2015-04-16T09:49:34.347 回答
0

一种方法是在数据库的表中保存状态,您可以创建一个表来保存在数据库上运行的作业,每个作业都有一个状态,这样在您的命令中开始加载您的数据可以在其中插入一个状态为 as 的新行,started最后您可以将状态更改为finished,并且在代码的其他位置,您可以检查started数据库上是否有作业,然后数据尚未完成。

您需要注意的一个警告是,当加载数据时出现问题时,您需要将状态更改为failed可能,并存储一些有关它的日志,然后您需要稍后检查它。

于 2015-04-16T10:01:24.123 回答