我的Django测试运行得非常慢,但这不是测试的错误。
目前,整个过程需要14秒,但只有0.1秒正在运行测试。前几秒钟正在创建表格和索引,其余的是应用项目的许多fixtures
。
处理这个问题的最佳方法是什么?我认为有一种方法可以指定在每个测试中加载哪个fixtures
,但是我需要大部分测试来进行大多数测试......
我认为可行的解决方案是,如果测试在每次运行后没有丢弃表,那么就不需要创建&每次运行测试时填充数据库。大多数测试甚至都没有写入数据库。
优化fixture
- 加载Django测试部分的最佳方法是什么?
谢谢!
(我正在使用nose
,但除此之外只是简单的Django和sqlite
)
答案 0 :(得分:3)
你可以使用sqlite内存数据库进行测试 - 它真的很快
答案 1 :(得分:3)
“但我需要他们中的大多数人做大多数测试”......
对此抱歉,但为了加快速度,你将不得不做一些思考。
“我认为有一种方法可以指定在每个测试中加载哪些灯具”
这是令人不安的事情。您最近在测试中看起来了吗?
你的测试 - 具体 - 列出灯具。您需要最小化该列表。