我目前每个应用程序使用一个fixtures文件,但随着项目的增长,测试耗时太长,我相信为每个测试类加载的(现在很大的)灯具是错误的。
由于担心重复和维护,我避免使用更多小型灯具,但我知道这是不可避免的。
在我走这条路之前,我想我会问其他人用夹具来测试他们的应用程序/项目。
答案 0 :(得分:2)
是的,你遇到了一大堆灯具的问题。随着测试套件的增长,不断的反序列化/加载会增加。我建议编写实用程序函数来根据需要创建数据,而不是依赖于fixture。例如,您可能有一个函数来创建一个新的auth.User
,如:
def create_user(data=None):
data = data or {}
defaults = {
'username': get_random_string(),
'email': get_random_email(),
'password': get_random_string()
}
defaults.update(data)
return User.objects.create_user(**defaults)
编写一个函数来生成随机字符串/电子邮件留给读者练习:)
答案 1 :(得分:0)
确保使用sqlite进行测试。与其他数据库引擎相比,速度存在很大差异。