默认情况下,django在运行测试时会创建一个测试数据库,这给我带来了一些不便:
我正在为其编写测试的API使用数据库。当我运行测试时,一个新的数据库被创建,一些虚拟数据被插入到测试数据库中,一个http post请求被发送到被测试的API。发生的情况是,我测试的API看不到插入的数据。
在解释了这个问题之后,使用数据库测试API的正确解决方案/最佳实践是什么?
发布于 2018-04-03 15:28:54
我假设您正在做REST服务,最好使用Django Rest框架(DRF)。如果没有,那就查一查。
测试您自己的API的正确方法是:
在类中创建一个继承APITestCase.
发布于 2018-04-03 16:11:39
您必须在设置中正确指定测试数据库名称。https://docs.djangoproject.com/en/dev/topics/testing/overview/#the-test-database
此外,您还可以尝试在测试中使用带有虚拟数据的fixture。它们将在测试运行之前加载。
https://stackoverflow.com/questions/49633359
复制