2014-10-31 37 views
1

我对正在开发的应用程序进行了一些功能测试。对于每个测试,我需要创建一个管理员用户,然后还需要创建一些该用户的配置文件。如果您只运行一个测试,创建管理员和用户配置文件不会太长,但是当我运行所有测试时会累加起来,这是每次向添加添加新功能时都需要的。如何避免在Django 1.6的功能测试中多次创建管理员?

我有以下Python文件:

import unittest, sys 

from django.conf import settings 

print("DEV_ENV: "+str(settings.DEV_ENV)) 
print("TEST_ENV: "+str(settings.TEST_ENV)) 
print("PROD_ENV: "+str(settings.PROD_ENV)) 

from case1test import Case1Test 
from case2test import Case2Test 
from case3test import Case3Test 
from case4test import Case4Test 


if __name__ == '__main__': 
    unittest.main() 

我想一次创建管理员和用户配置文件的所有功能测试。有人可以给我一些关于如何进行的建议吗?该应用程序使用Django 1.6开发,因此--keepdb选项不可用。

+0

您使用什么特定的方法来确定Django测试运行器设置测试所做的所有事情,创建用户配置文件需要花费大部分设置时间? – Louis 2014-10-31 20:08:54

回答

1

他们很多方法可以做到这一点:

  • 随着fixtures
    添加夹具文件中yourapp/fixtures/,我建议你到转储一个新的与./manage.py dumpdata yourapp.yourmodel --pks=<instance_id>
    只需在您的测试中加载所需的夹具。
    很少夹具的装载是快速,但如果你对付更大的尺寸,你可以使用Django的鼻子和他Fast Fixtures feature

  • 随着Factory Boy
    的用于构造的对象/模型组与(±)小声明

相关问题