2015-11-04 122 views
1

如何填充,同時與其他一些數據庫中的值測試Django的測試用例創建了測試數據庫(例如:。在生產數據庫)創建測試數據庫Django的單元測試

詳細:

當我運行下面的命令,

$ python manage.py test 

測試數據的基礎上被用於測試目的而創建的,但它不具有在它的任何數據。我想創建的測試數據庫用一些初始值填充。

謝謝..

回答

1

您可以使用django fixtures來填充測試數據庫。

創建生產數據庫的夾具,並將其寫入一些文件

python manage.py dumpdata > backup.json 

您可以使用此命令

python manage.py loaddata backup.json 

填充測試數據庫,如果你想通過運行python manage.py test然後做到這一點你應該寫自定義django-admin commands

0

你想簽出fixtures。這裏有一個鏈接到文檔頁面:https://docs.djangoproject.com/en/1.8/howto/initial-data/

基本上你可能要拋售用於測試目的當前的數據庫,所以你會做這樣的事情:

python manage.py dumpdata 

然後,你要放置文件的目錄Django會尋找燈具。您可以在使用FIXTURE_DIRS變量的設置中指定它,或者使用默認值。默認只是在Django應用程序的fixtures目錄中。

2

您可以使用dumpdata從您的實時數據庫獲取包含數據的文件。

然後,你可以從文件加載的數據自動測試(見Django tests):

from django.test import TestCase 
from django.core.management import call_command 

class Tests(TestCase): 
    @classmethod 
    def setUpTestData(cls): 
     call_command('loaddata', 'myfile', verbosity=0)