Tôi đang gặp rắc rối thử nghiệm một ViewSet:Django Rest Framework - Làm thế nào để kiểm tra ViewSet?
class ViewSetTest(TestCase):
def test_view_set(self):
factory = APIRequestFactory()
view = CatViewSet.as_view()
cat = Cat(name="bob")
cat.save()
request = factory.get(reverse('cat-detail', args=(cat.pk,)))
response = view(request)
Tôi đang cố gắng để tái tạo cú pháp ở đây:
http://www.django-rest-framework.org/api-guide/testing#forcing-authentication
Nhưng tôi nghĩ xem AccountDetail của họ là khác nhau từ ViewSet tôi, vì vậy Tôi nhận được lỗi này từ dòng cuối cùng:
AttributeError: 'NoneType' object has no attributes 'items'
Có cú pháp chính xác ở đây hay tôi trộn lên co các khái niệm? Bài kiểm tra APIClient của tôi hoạt động, nhưng tôi đang sử dụng nhà máy ở đây vì cuối cùng tôi muốn thêm "request.user = some_user". Cảm ơn trước!
Oh và kiểm tra khách hàng hoạt động tốt:
def test_client_view(self):
response = APIClient().get(reverse('cat-detail', args=(cat.pk,)))
self.assertEqual(response.status_code, 200)
xin lỗi tôi sao chép dòng cuối cùng sai, tôi chỉnh sửa để khắc phục điều đó sai lầm – WBC
Những dòng trong mã đang ném lỗi? – Alex
dòng cuối cùng, tôi có thể đi đến trình gỡ rối trước khi nó, tất cả mọi thứ được xác định nhưng tôi nghĩ rằng có lẽ có một cái gì đó đặc biệt về việc chuyển yêu cầu vào ViewSet? – WBC