2015-08-24 1 views
2

Мой код тесты файл «данные» без атрибута:Джанго Rest Framework Тестовый случай вопрос: «HttpResponseNotAllowed» объект имеет

from rest_framework import status 
from rest_framework.test import APITestCase 

class CategoryTests(APITestCase): 

    def test_create_create(self): 

    url = '/category/add/' 
    data = {"name":"Sports","description":"get live updates here"} 
    response = self.client.post(url, data, format='json') 
    self.assertEqual(response.data, data) 

Ошибка, которую я получаю:

Traceback (most recent call last): 
File "/Users/test/webapp/apps/core/tests.py", line 16, in test_create_create 
self.assertEqual(response.data, data) 
AttributeError: 'HttpResponseNotAllowed' object has no attribute 'data' 

Infact тесты не являются даже вызывая точные утверждения api (я проверил, что с помощью операторов отладки в коде api). Пожалуйста, дайте мне знать, что может быть не так, или вам нужна дополнительная информация об этом.

ответ

1

Попробуйте использовать DRF расширенного клиента тест:

from rest_framework import status 
from rest_framework.test import APITestCase, APIClient 

class CategoryTests(APITestCase): 
    client = APIClient() 

    def test_create_create(self): 

    url = '/category/add/' 
    data = {"name":"Sports","description":"get live updates here"} 
    response = self.client.post(url, data, format='json') 
    self.assertEquals(response.data, data) 
+0

Получение такой же ошибки при этих изменениях – Neo

0

Проблема была с URL, я это исправить, и она работала. Таким образом, мой url был фактически

url = '/v1.0/category/add/'