2014-10-31 40 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
    的用於構造的對象/模型組與(±)小聲明

相關問題