2014-01-27 31 views
1

下午好。py.test不會從數據庫中提取數據

我使用pytest基於django-rest-framework測試api。據我所知,在測試開始時,py.test創建了一個前綴爲test_的重複數據庫。但是在寫作測試期間的模式注意到它沒有從數據庫接收數據。這是假的空的重複。 一個簡單的例子:

@pytest.mark.django_db 
def test_db(): 
    qs = Category.objects.get(id=4) 
    assert qs['id'] = 4 

其返回低於這個錯誤,但在數據庫中,與對象ID = 4中存在。

>  assert qs['id'] == 4 
E  assert [] == 4 

我是新來測試,可能會錯過的東西,請幫助。

+2

它創建一個*空*重複數據庫。 –

回答

2

就像Daniel評論說的,測試數據庫最初是空的。您可以通過以下兩種方法之一添加你想要的任何數據來進行測試:

  1. Django Fixtures - 您可以添加使用JSON文件就像初始數據。
  2. 在運行時使用庫(例如django dynamic fixture)模擬數據。

這些是你最好的投注。