本文介紹 django.test.TransactionTestCase.fixtures
的用法。
聲明
TransactionTestCase.fixtures
如果數據庫中沒有任何數據,則 database-backed 網站的測試用例沒有多大用處。測試更具可讀性,並且使用 ORM 創建對象更易於維護,例如在
中,但是,您也可以使用夾具。TestCase.setUpTestData()
固定裝置是 Django 知道如何導入數據庫的數據集合。例如,如果您的站點有用戶帳戶,您可能會設置一個假用戶帳戶,以便在測試期間填充您的數據庫。
創建夾具最直接的方法是使用
命令。這假設您的數據庫中已經有一些數據。有關詳細信息,請參閱manage.py dumpdata
。dumpdata
documentation
一旦您創建了一個夾具並將其放置在
之一的 INSTALLED_APPS
fixtures
目錄中,您可以通過在
子類上指定 django.test.TestCase
fixtures
類屬性來在單元測試中使用它:
from django.test import TestCase
from myapp.models import Animal
class AnimalTestCase(TestCase):
fixtures = ['mammals.json', 'birds']
def setUp(self):
# Test definitions as before.
call_setup_methods()
def test_fluffy_animals(self):
# A test that uses the fixtures.
call_some_test_code()
以下是具體會發生什麽:
- 在每次測試開始時,在
setUp()
運行之前,Django 將刷新數據庫,將數據庫返回到調用migrate
- 然後,安裝所有命名的固定裝置。在此示例中,Django 將安裝任何名為
mammals
的 JSON 夾具,然後安裝任何名為birds
的夾具。有關定義和安裝夾具的更多詳細信息,請參閱loaddata
出於性能原因,
為整個測試類加載一次夾具,在 TestCase
之前,而不是在每次測試之前,它使用事務在每次測試之前清理數據庫。在任何情況下,您都可以確定測試的結果不會受到另一個測試或測試執行順序的影響。setUpTestData()
默認情況下,夾具僅加載到default
數據庫中。如果您使用多個數據庫並設置
,則夾具將加載到所有指定的數據庫中。TransactionTestCase.databases
相關用法
- Python Django TransactionTestCase.reset_sequences用法及代碼示例
- Python Django TransactionTestCase.assertNumQueries用法及代碼示例
- Python Django TransactionNow用法及代碼示例
- Python Sympy Triangle.is_right()用法及代碼示例
- Python Sympy Triangle.is_isosceles()用法及代碼示例
- Python Django TrigramSimilarity用法及代碼示例
- Python Django Trim用法及代碼示例
- Python Sympy Triangle.is_scalene()用法及代碼示例
- Python Django TrigramDistance用法及代碼示例
- Python Thread join()用法及代碼示例
- Python Django TodayArchiveView用法及代碼示例
- Python Tensorflow asin()用法及代碼示例
- Python Thread run()用法及代碼示例
- Python TextBlob.correct()用法及代碼示例
- Python Tuple len()用法及代碼示例
- Python Tensorflow math.accumulate_n()用法及代碼示例
- Python Tensorflow cosh()用法及代碼示例
- Python Tuple min()用法及代碼示例
- Python Thread setName()用法及代碼示例
- Python TextCalendar prmonth()用法及代碼示例
- Python Tensorflow sin()用法及代碼示例
- Python Tuples轉Dictionary用法及代碼示例
- Python Django TestCase.setUpTestData用法及代碼示例
- Python Tensorflow acos()用法及代碼示例
- Python Tuple轉integer用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.test.TransactionTestCase.fixtures。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。