下午好。
我正在使用pytest测试基于django rest框架的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

我是新来测试的,可能会漏掉一些东西,请帮忙。

最佳答案

正如daniel所评论的,test db最初是空的。可以使用以下两种方法之一添加要测试的任何数据:
Django Fixtures-您可以使用json文件添加数据,就像初始数据一样。
在运行时使用库(如django dynamic fixture)模拟数据。
这是你最好的选择。

10-04 23:37
查看更多