簡體   English   中英

如何在單元測試期間設置django不使用內存數據庫?

[英]How can I set up django not to use in-memory database during unittest?

django在內存中設置一個數據庫,用於測試所選的數據庫引擎是否為sqlite3。 但是,我需要數據庫在文件系統上。 如何更改設置以實現此目的?

根據文件

默認情況下,測試數據庫通過將test_前置為DATABASES中定義的數據庫的NAME設置值來獲取其名稱。 使用SQLite數據庫引擎時,測試將默認使用內存數據庫 (即數據庫將在內存中創建,完全繞過文件系統!)。 如果要使用其他數據庫名稱,請在TEST字典中為DATABASES中的任何給定數據庫指定NAME

TEST字典中指定NAME鍵:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        ...
        'TEST': {
            'NAME': '/path/to/the/db/file'
        }
    }
}

請注意,對於Django 1.6及更低版本,您應該設置TEST_NAME

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        ...
        'TEST_NAME': '/path/to/the/db/file'
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM