优化Django测试夹具加载部分的最佳方法是什么?

0at*_*man 8 python testing django performance fixtures

我的Django测试运行得非常慢,但这不是测试的错.

目前,整个过程需要14秒,但只有0.1秒正在运行测试.前几秒是创建表和索引,其余的是应用项目的很多fixtures.

处理这个问题的最佳方法是什么?我认为有一种方法可以指定fixtures在每个测试中加载哪个,但我需要大部分测试来进行大多数测试......

我认为可行的解决方案是,如果测试在每次运行后没有删除表,那么就不需要在每次运行测试时创建和填充数据库.大多数测试甚至都没有写入数据库.

优化fixtureDjango测试的加载部分的最佳方法是什么?谢谢!

(我正在使用nose,但除此之外只是简单的Django和sqlite)

编辑:我应该提到我正在使用内存中的sqlite数据库.我正在寻找的 - 特别是 - 是对测试的夹具加载部分的优化.

S.L*_*ott 4

“但我需要他们中的大多数人来做大多数测试”......

对此感到抱歉,但是为了加快速度,您必须进行一些思考

“我认为有一种方法可以指定在每个测试中加载哪些装置”

这是一件读起来令人不安的事情。你最近检查过你的测试吗?

具体来说,您的测试会列出固定装置。您需要最小化该列表。

  • 很傲慢,对人好点也无妨,人们更感激你的帮助。 (4认同)
  • 虽然你的回答和评论的语气非常煽动和傲慢,但你确实让我找到了正确的答案,谢谢! (2认同)