【发布时间】:2017-02-13 11:25:13
【问题描述】:
我正在对其余的 API 进行单元测试。我正在使用 django 休息框架。 APIs 正在将数据保存到数据库中并从数据库中获取数据。这两个操作都不起作用,或者如果它起作用,我无法在数据库中看到它。 APIs 也使用 django-fsm,因此我需要来自 db 的相同数据用于其他测试。由于 django-fsm,测试依赖于之前的测试。 api总是会改变状态。但是现在我在测试运行期间无法看到数据库中的任何数据。不知道数据保存在哪里,在哪个数据库中。
以下是我的测试设置:-
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': join(PROJECT_ROOT, 'run', 'db_for_testing.sqlite3'),
'TEST': {
'NAME': 'test_db_for_testing',
},
},
}
下面是我的api:-
class DummyView(CreateAPIView):
def post(self, request, *args, **kwargs):
data = request.data.copy()
serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True)
order = self.model(book=serializer.data.get('book'))
order.save()
data = {
'status_code': 200,
'message': 'successfully.'
}
return Response(data, status=status.HTTP_200_OK)
由于我的测试依赖于之前将数据保存到数据库的测试,因此其他测试也失败了。我正在使用 rest_framework 的 APITestCase。 帮助伙计们。 提前致谢。
【问题讨论】:
标签: django unit-testing django-rest-framework fsm web-api-testing