2

我使用django 1.3並編寫一些硒測試& django單元測試。我想知道它是否可以運行測試而不創建數據庫&每次加載燈具?Django 1.3測試沒有重新創建數據庫/每次運行測試的加載裝置

我偶然發現了這個SO thread,它提供了一個很好的方式來測試,而不需要創建數據庫,但仍然會刷新數據庫設備&每次都會重新加載它們。我甚至不希望發生這種情況。我只想讓測試讀取/寫入我設置過的數據庫一次。我不希望它每次運行任何測試時都會創建數據庫/負載裝置。

我很樂意提供任何進一步的信息,如果需要整理出來。

在此先感謝! :)

+0

這是你在找什麼? http://stackoverflow.com/questions/4606756/how-can-i-specify-a-database-for-django-tests-to-use-instead-of-having-it-build – Ngenator

+0

@Ngenator試過了,但我收到一些錯誤, 'DatabaseError:關係「django_content_type」不存在 LINE 1:...「。」app_label「,」django_content_type「。」model「FROM」django_co ...' –

+0

我不確定問題是什麼。但我並不認爲這是一個好主意,但每次建立和拆除數據庫的目的都是爲了保持一致。您計劃使用現有數據庫的事實可能會使您的某些測試失效,因爲模型可能會發生更改,並且數據在未來的某個時間點可能無效。 – Ngenator

回答

1

我能夠通過入侵一些Django代碼來做到這一點。代碼,如下所示django/db/backends/sqlite3/creation.py

變化:

  1. 設置confirm = 'yes'在管線55
  2. 註釋掉的os.remove(test_database_name)
  3. 所有出現需要被編輯的是部件,

    FILE

FILEdjango/db/backends/creation.py

變化的代碼如下

  1. 評論359至376(在create_test_db功能的執行syncdb &平齊的部分。
  2. 幾乎所有在_create_test_db。 (幾乎所有的==代碼部分,它是我們試圖消除的不需要的東西)
  3. 幾乎所有在_destroy_test_db
  4. 幾乎所有在destroy_test_db

希望有所幫助!

相關問題