Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用大数据库初始信息测试应用程序_Python_Database_Django_Migration - Fatal编程技术网

Python 使用大数据库初始信息测试应用程序

Python 使用大数据库初始信息测试应用程序,python,database,django,migration,Python,Database,Django,Migration,目前,我有大量的初始数据的大应用程序。 基本上,我有postgresql转储文件,我应该应用一些迁移来获得“良好的数据库”。 而且,应用程序几乎没有任何装置可以在同步/迁移时重新创建初始数据 是的,这是一个巨大的痛苦在。。。头 无论如何,Django复制数据库来执行测试,一切都应该正常工作。但问题是——这需要很长时间 我正在考虑创建自定义测试运行程序来重现这些操作,但我想问你!你能提出什么建议?关于大量数据的单元测试,有很多不错的答案 我最喜欢这两个 这个是我的 这是一位朋友写的 您可以使用一个

目前,我有大量的初始数据的大应用程序。 基本上,我有postgresql转储文件,我应该应用一些迁移来获得“良好的数据库”。 而且,应用程序几乎没有任何装置可以在同步/迁移时重新创建初始数据

是的,这是一个巨大的痛苦在。。。头

无论如何,Django复制数据库来执行测试,一切都应该正常工作。但问题是——这需要很长时间


我正在考虑创建自定义测试运行程序来重现这些操作,但我想问你!你能提出什么建议?

关于大量数据的单元测试,有很多不错的答案

我最喜欢这两个

这个是我的

这是一位朋友写的

您可以使用一个库来创建任意数量的模型实例,并使用不同的特性来测试多个案例。是FactoryBoy的文档页面吗

聊天后编辑: 在这种情况下,定义您自己的测试运行程序似乎是一种方法


关于使用大量数据的单元测试,有很多很好的答案

我最喜欢这两个

这个是我的

这是一位朋友写的

您可以使用一个库来创建任意数量的模型实例,并使用不同的特性来测试多个案例。是FactoryBoy的文档页面吗

聊天后编辑: 在这种情况下,定义您自己的测试运行程序似乎是一种方法

尝试使用:

尝试使用:


您真的需要使用所有初始数据测试应用程序吗?是的,您可以将初始数据剥离到最小值。或者创建新数据?很遗憾,我不能。因为代码过于臃肿,我需要很多时间来发现我真正需要的东西。这不是一个选择,因为我有工作要做。我可以使用unittest2进行一些简单的测试,对于大多数部件来说都可以。但是我真的希望能够测试我所做的一切,而不仅仅是内部逻辑的普通部分。你真的需要用所有初始数据测试应用程序吗?是的,你可以将初始数据剥离到最低限度。或者创建新数据?很遗憾,我不能。因为代码过于臃肿,我需要很多时间来发现我真正需要的东西。这不是一个选择,因为我有工作要做。我可以使用unittest2进行一些简单的测试,对于大多数部件来说都可以。但是我真的很想有能力测试我所做的一切,而不仅仅是一个普通的内部逻辑部分。我喜欢工厂女孩,真的。但这是对问题G的一个很好的回答,“我应该怎么做?”我想说“谢谢”,因为我现在就用它。此外,我应该说你“坦克你”的一个网页链接,在那里我终于明白了什么是“嘲笑”。它解决了我的另一个测试问题——使用外部服务。但是现在,我想处理Django测试,只是为了让它运行。是的,如果您的模型经常有很多更改,那么固定装置是无法维护的。如果有很多测试用例,并且没有那么多时间,您可以尝试暂时覆盖边界用例,稍后扩展测试覆盖范围。只为测试创建数据总是好的,这样您就可以控制您的测试。谢谢。但问题是,我想使用“/manage.py test”。它试图重新创建我的数据库副本,但数据库太大了。也许您可以建议如何避免这种情况,但如果能够使用所有Django测试函数、类,您会怎么做?FacrotyBoy是否可以清除所有内容而不“回滚”所有数据库/重新创建测试数据库?抱歉,我误解了您的问题,可能您需要的是指定一个包含所有所需数据的测试数据库,这样Django就不会复制您的生产数据库,而只是创建到指定数据库的连接。也许那会有帮助哦,也许这会解决我的问题。但若我设置“test_name”,Django在测试开始时不会重新创建DB?因为这就是我需要的,我想。工厂男孩太棒了。我喜欢工厂女孩,真的。但这是对问题G的一个很好的回答,“我应该怎么做?”我想说“谢谢”,因为我现在就用它。此外,我应该说你“坦克你”的一个网页链接,在那里我终于明白了什么是“嘲笑”。它解决了我的另一个测试问题——使用外部服务。但是现在,我想处理Django测试,只是为了让它运行。是的,如果您的模型经常有很多更改,那么固定装置是无法维护的。如果有很多测试用例,并且没有那么多时间,您可以尝试暂时覆盖边界用例,稍后扩展测试覆盖范围。只为测试创建数据总是好的,这样您就可以控制您的测试。谢谢。但问题是,我想使用“/manage.py test”。它试图重新创建我的数据库副本,但数据库太大了。也许您可以建议如何避免这种情况,但如果能够使用所有Django测试函数、类,您会怎么做?FacrotyBoy是否可以清除所有内容而不“回滚”所有数据库/重新创建测试数据库?抱歉,我误解了您的问题,可能您需要的是指定一个包含所有所需数据的测试数据库,这样Django就不会复制您的生产数据库,而只是创建到指定数据库的连接。也许那会有帮助哦,也许这会解决我的问题。但若我设置“test_name”,Django在测试开始时不会重新创建DB?因为我想这就是我需要的。
from mixer.backend.django import mixer

mixer.blend(MyModel)