Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 pytest的设置时间很慢,如何减少?_Python_Django_Unit Testing_Pytest_Pytest Django - Fatal编程技术网

Python pytest的设置时间很慢,如何减少?

Python pytest的设置时间很慢,如何减少?,python,django,unit-testing,pytest,pytest-django,Python,Django,Unit Testing,Pytest,Pytest Django,我是pytest的新手,我正在运行一个非常简单的测试来断言模型的创建,但是运行测试似乎要花费大量的时间。我大概有10个模型,没有一个是非常复杂的 4.67 setup 0.69s call 0.09s teardown 这是通过添加参数实现的(如果没有参数,则超过30秒!): 我做错什么了吗?如何减少此设置时间?安装时间是否取决于型号数量,以及其他因素?我无法想象一旦应用程序变大,这需要多长时间。欢迎您提供任何建议。我不确定您的建议是否正确,我之前遇到过启动缓慢的问题,并且在某些模式的搜索路径

我是pytest的新手,我正在运行一个非常简单的测试来断言模型的创建,但是运行测试似乎要花费大量的时间。我大概有10个模型,没有一个是非常复杂的

4.67 setup
0.69s call
0.09s teardown
这是通过添加参数实现的(如果没有参数,则超过30秒!):


我做错什么了吗?如何减少此设置时间?安装时间是否取决于型号数量,以及其他因素?我无法想象一旦应用程序变大,这需要多长时间。欢迎您提供任何建议。

我不确定您的建议是否正确,我之前遇到过启动缓慢的问题,并且在某些模式的搜索路径上被调试为操作系统缓慢。您可以使用相同的调试技术来查找。修复是在pytest中,而不是在os中


参考文献:

5秒相当于标准。相关问题/答案:谢谢您的回复,很高兴我没有做错什么。在大多数情况下,在开发和调试时,我可以期望在迭代之间等待5秒(比如重新启动调试器)。或者这里是否有快速解决方法?取决于应用程序的结构。如果应用程序的结构可以使业务逻辑与模型分离(即,处理某个对象的功能,该对象可以是模型对象或某种通用实现),则可以单独测试该业务逻辑,而无需调用整个模型/设置框架,从而加快了开发过程中的整个测试,;实际的集成仍然需要,但这不再是一个严格的要求,提交到存储库之前的零星调用应该足够了。@metatoaster听起来很理想,特别是如果我只想在开发视图功能时测试它。有没有一种方法可以让pytest放弃设置步骤,基本上将其视为在运行调试器的情况下刷新页面?可以直接运行测试文件,即
py.test some/package/tests/test_feature.py
,或者
python-m unittest some.package.tests.test_feature
,以获得更通用的选项(我个人更喜欢),但是如果您要避免基本unittest框架的可移植性/通用性,可以使用pytest特定的扩展:
pytest --nomigrations --reuse-db