首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django单元为api和测试测试不同的数据库

Django单元为api和测试测试不同的数据库
EN

Stack Overflow用户
提问于 2018-04-03 23:05:24
回答 2查看 33关注 0票数 1

默认情况下,django在运行测试时会创建一个测试数据库,这给我带来了一些不便:

我正在为其编写测试的API使用数据库。当我运行测试时,一个新的数据库被创建,一些虚拟数据被插入到测试数据库中,一个http post请求被发送到被测试的API。发生的情况是,我测试的API看不到插入的数据。

在解释了这个问题之后,使用数据库测试API的正确解决方案/最佳实践是什么?

EN

回答 2

Stack Overflow用户

发布于 2018-04-03 23:28:54

我假设您正在做REST服务,最好使用Django Rest框架(DRF)。如果没有,那就查一查。

测试您自己的API的正确方法是:

在类中创建一个继承APITestCase.

  • Create测试函数的类,例如: test_my_thing(self):

  • Use django‘

  • ’函数,以生成到您测试的API的URL。

  • 使用self.client.get、self.client.post、self.client.delete并将响应存储在json中,从而在json中提供响应正文。
票数 0
EN

Stack Overflow用户

发布于 2018-04-04 00:11:39

您必须在设置中正确指定测试数据库名称。https://docs.djangoproject.com/en/dev/topics/testing/overview/#the-test-database

此外,您还可以尝试在测试中使用带有虚拟数据的fixture。它们将在测试运行之前加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49633359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档