我正在为终结点生成测试用例。使用浏览器访问本地开发中的终结点工作正常--我得到了预期的响应。但是,在测试期间,我得到了一个HttpResponseNotFound,其中在服务器上找不到终结点。
#views.py
class ExampleView(APIView):
permission_classes = (permissions.AllowAny,)
def get(self, request):
print('GOT HERE')
qs = Example.objects.last()
if self.request.user.is_authenticated:
if self.request.user.is_subscribed:
message = {
'info': 'User can download template.',
'template': qs.file.url
}
return Response(message, status.HTTP_200_OK)
message = {
'info': 'User cannot download template.',
'template': None
}
return Response(message, status.HTTP_400_BAD_REQUEST)
在我的网站上urls.py
#urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('request/download_template', ExampleView.as_view()),
]
我的测试版本
class TestExample(APITestCase):
fixtures = ['fixtures/initial', 'fixtures/auth', 'fixtures/example']
def test_forecast_template_authenticated(self):
response = self.client.get(
'/request/download_template/')
print('result', response)
self.assertEqual(response.status_code, status.HTTP_200_OK)
对策
〈HttpResponseNotFound状态代码=404“,text/html;字符集=utf-8”〉
我正在尝试调试,但我甚至没有到达视图中的print语句。我一直在查找可能是我的错误,但已经过了几个小时。为什么我会得到这样的响应?可能是我的错误?
1条答案
按热度按时间whitzsjs1#
在您的测试中,您使用了不同的url:
比您在URL中设置的:
注意结尾处的斜线。