【问题标题】:py.test does not extract data from the databasepy.test 不从数据库中提取数据
【发布时间】:2014-02-18 11:29:31
【问题描述】:

下午好。

我正在使用pytest 测试基于 django-rest-framework 的 api。据我在测试开始时所知道的,py.test 创建了一个带有前缀 test_ 的重复数据库。但是编写测试期间的模式注意到它没有从数据库接收数据。那是这个所谓的空的副本。 一个简单的例子:

@pytest.mark.django_db
def test_db():
    qs = Category.objects.get(id=4)
    assert qs['id'] = 4

它在下面返回此错误,但在数据库中,存在 id=4 的对象。

>       assert qs['id'] == 4
E       assert [] == 4

我是测试新手,可能会遗漏一些东西,请帮忙。

【问题讨论】:

  • 它创建了一个重复数据库。

标签: python database django django-rest-framework pytest


【解决方案1】:

就像丹尼尔评论的那样,测试数据库最初是空的。您可以使用以下两种方法之一添加您想要测试的任何数据:

  1. Django Fixtures - 您可以像初始数据一样使用 JSON 文件添加数据。
  2. 在运行时使用库(例如 django dynamic fixture)模拟数据。

这些是您最好的选择。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多