2014-12-04 50 views
0

我是新來的Django測試,我只有一個簡單的print hello線djnago測試如何停止的Django重新測試數據庫

class SimpleTest(TestCase): 
    def setUp(self): 
     self.kid = mommy.make(User) 

    def test_details(self): 
     print self.kid 
     self.assertEqual(200, 200) 

運行測試使用此命令

./manage.py test tests/myapp/

運行該測試真的需要3分鐘。 djnago首先創建數據庫並等待3分鐘顯示結果。

如果在測試中使用一個單詞,那麼我必須等待3分鐘。它非常煩人。

我認爲它可能是重新創建數據庫每次有很多遷移。

有沒有什麼辦法讓它更快或者每次都停止重新創建數據庫。

我使用django 1.7

最新發布的開發版本有命令--keepdb,但它不是在1.7

回答

1

如果你只是測試爲發展宗旨,我建議設置你的測試數據庫中使用sqlite3的,這將默認利用內存數據庫,並應加速測試。

我通常把這個成只獲取我的開發環境中執行LOCAL_SETTINGS ...

if 'test' in sys.argv: 
    DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'} 

如果您計劃推釋放到生產環境中,你想測試對發動機它爲您的生產數據庫(MySQL,PostgreSQL等)提供服務。

相關問題