本文介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。