2017-09-24 75 views
0

現在我想用我的默認數據庫,因爲我需要太多的數據,以嘲弄的要求來測試API,所以我不希望設置的測試數據庫如何在Django測試使用默認的數據庫

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'bills_db', 
     'USER': 'root', 
     'PASSWORD': '****', 
    } 
} 

如何我可以使用它嗎?

回答

1

使用相同的數據庫名稱進行默​​認和測試。

Django使用下面的模式來定義數據庫:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'USER': 'mydatabaseuser', 
     'NAME': 'mydatabase', 
     'TEST': { 
      'NAME': 'mytestdatabase', 
     }, 
    }, 
} 

只使用mydatabase代替mytestdatabase

+0

'類型「是」,如果你想嘗試刪除測試數據庫'bills_db'或'no'取消:否' 然後返回'測試cancelled.' –

+0

嘗試--keepdb獲取您的數據庫 – Serjik

1

另一種選擇是使用Django's database fixtures因爲這是通用於所有的環境中的數據(測試,dev,prod)。這裏的好處是,固定裝置可以很容易地播種新的數據庫與您共同數據:

./manage.py loaddata myfixture1 myfixture2 

您可以./manage.py dumpdata創建fixures。以下是如何創建一個在books應用程序稱爲Author模型JSON燈具,例如:

mkdir books/fixtures 
./manage.py dumpdata --indent=2 --output books/fixtures/author.json books.author 

然後你就可以使用固定在你的測試:

from django.test import TestCase 


class AuthorTestCase(TestCase): 
    fixtures = ['author'] 
    .... 
相關問題