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

时间:2011-02-17 13:16:08

标签: python django testing performance fixtures

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

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:3)

你可以使用sqlite内存数据库进行测试 - 它真的很快

答案 1 :(得分:3)

  

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

对此抱歉,但为了加快速度,你将不得不做一些思考

  

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

这是令人不安的事情。您最近在测试中看起来了吗?

你的测试 - 具体 - 列出灯具。您需要最小化该列表。