Python, Django 단위 테스트. RequestFactory 테스트가 작동하지 않습니다.

user2876296

테스트하고 싶은 뷰가 있습니다.

def change_item(request):
    name_change = request.POST.get('name_change')
    cost_change = request.POST.get('cost_change')
    category_change = request.POST.get('category_change')
    product_id = request.POST.get('product_id')
    category_name = Category.objects.get(name = category_change)
    product = Product.objects.get(id__exact = product_id)
    product.name = name_change
    product.category = category_name
    product.price = cost_change
    product.save()
    return HttpResponse()

테스트를 작성했는데 안 돼요 (요청 테스트하고 싶어요)

from django.test import RequestFactory
from django.test import TestCase
from views import change_item
from models import Product
from django.utils import unittest


class TestChange_item(TestCase):
    def setUp(self):
        self.factory = RequestFactory()

    def change_item_test(self):
        # Create an instance of a GET request.
        request = self.factory.get('main/views')
        # Test my_view() as if it were deployed at /customer/details
        response = change_item(request)
        self.assertEqual(response.status_code, 200)

실행하면 콘솔에 표시됩니다.

ERROR: change_item_test (src.main.tests.TestChange_item)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/volodia/work/shopping-helper/src/main/tests.py", line 19, in change_item_test
response = change_item(request)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 24, in _wrapped_view
if test_func(request.user):
AttributeError: 'WSGIRequest' object has no attribute 'user'

----------------------------------------------------------------------
Ran 1 test in 0.002s

FAILED (errors=1)

그것으로 무엇을 할 수 있습니까? 아니면 요청을 테스트하는 다른 방법이 있습니까?

아체 디

문서를 보면 요청에 사용자를 수동으로 추가 해야한다는 것을 알 수 있습니다 . 이 작업은 자동으로 수행되지 않습니다.

def change_item_test(self):
    request = self.factory.get('main/views')
    request.user = User.objects.create_user(username="bobalong")

이와 같은 사용자를 추가하는 것은 로그인 요청을 만드는 것을 시뮬레이션합니다. 이것이 원하는 것이 아니라면 AnonymousUser대신 생성해야 합니다. 일반적으로 발생한 오류는 알아야 할 모든 것을 제공해야합니다. 요청에 .NET Framework가 없기 때문에 테스트가 실패했음을 명시 적으로 알려줍니다 user. 실제 사용자를 추가하거나 요청에 모의 사용자 객체를 추가하는 것이 답입니다.

또한 POST 요청으로 만 작동하는보기를 테스트하는 것 같습니다. request.POST에 올바른 사전 키가 없기 때문에 실패 할 것입니다. 다음을 수행하여 POST 요청을 생성 할 수 있습니다.

factory.post('main/views', {'name_change': 'some name'})`

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django 단위 테스트 client.login이 작동하지 않습니다.

분류에서Dev

Python Pandas 단위 테스트가 인식되지 않습니다.

분류에서Dev

django-localeurl 패치 된 역방향이 단위 테스트에서 작동하지 않습니다.

분류에서Dev

PHP 단순 테스트가 작동하지 않습니다.

분류에서Dev

PHP 단순 테스트가 작동하지 않습니다.

분류에서Dev

Roboelectric 단위 테스트가 응답하지 않습니다.

분류에서Dev

단위 테스트가 실패하지 않습니다

분류에서Dev

Django 단위 테스트 "일치하는 쿼리가 존재하지 않습니다"

분류에서Dev

AngularJS 간단한 테스트가 작동하지 않습니까?

분류에서Dev

가장 간단한 jquery 테스트가 작동하지 않습니다.

분류에서Dev

왜이 간단한 Junit와 5 테스트가 작동하지 않습니다

분류에서Dev

키위 테스트가 xcode 7에서 작동하지 않습니다.

분류에서Dev

각도 단위 테스트 : 테스트 명령이 작동하지 않음

분류에서Dev

Visual Studio2013에서 jasmine 및 chutzpah를 사용한 단위 테스트 angularjs가 작동하지 않습니다.

분류에서Dev

단위 테스트 : '[] |> should equal List.empty'가 예상대로 작동하지 않습니다.

분류에서Dev

python3 단위 테스트, 작동하지 않는 인스턴스 메서드의 반환 패치

분류에서Dev

Android 단위 테스트가 업데이트되지 않습니다.

분류에서Dev

단위 테스트에서 잠금이 작동하지 않음

분류에서Dev

단위 테스트가 작동하지 않음-Ruby using test-unit

분류에서Dev

Angular 2 Observable Service Karma Jasmine 단위 테스트가 작동하지 않음

분류에서Dev

Tensorflow fully_connected가 단위 테스트 케이스에서 작동하지 않습니까?

분류에서Dev

데이터베이스 함수 Mock이 C # 웹 API 단위 테스트에서 작동하지 않습니다.

분류에서Dev

단위 테스트 케이스 MockRestServiceServer 예상 URL이 RestTemplate에서 작동하지 않습니다.

분류에서Dev

테스트 케이스를 실행할 때 Django의 user_logged_in 신호가 작동하지 않습니다.

분류에서Dev

단위 테스트는 발견되지 않습니다.

분류에서Dev

Chutzpah가 작동하지 않는 간단한 TypeScript 테스트

분류에서Dev

Django 테스트는 작동하지 않지만 뷰는 작동합니다.

분류에서Dev

PHP 단위 테스트 : 테스트 케이스를 실행하는 동안 모의 메서드가 트리거되지 않습니다.

분류에서Dev

@JsonView는 간단한 테스트에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    Django 단위 테스트 client.login이 작동하지 않습니다.

  2. 2

    Python Pandas 단위 테스트가 인식되지 않습니다.

  3. 3

    django-localeurl 패치 된 역방향이 단위 테스트에서 작동하지 않습니다.

  4. 4

    PHP 단순 테스트가 작동하지 않습니다.

  5. 5

    PHP 단순 테스트가 작동하지 않습니다.

  6. 6

    Roboelectric 단위 테스트가 응답하지 않습니다.

  7. 7

    단위 테스트가 실패하지 않습니다

  8. 8

    Django 단위 테스트 "일치하는 쿼리가 존재하지 않습니다"

  9. 9

    AngularJS 간단한 테스트가 작동하지 않습니까?

  10. 10

    가장 간단한 jquery 테스트가 작동하지 않습니다.

  11. 11

    왜이 간단한 Junit와 5 테스트가 작동하지 않습니다

  12. 12

    키위 테스트가 xcode 7에서 작동하지 않습니다.

  13. 13

    각도 단위 테스트 : 테스트 명령이 작동하지 않음

  14. 14

    Visual Studio2013에서 jasmine 및 chutzpah를 사용한 단위 테스트 angularjs가 작동하지 않습니다.

  15. 15

    단위 테스트 : '[] |> should equal List.empty'가 예상대로 작동하지 않습니다.

  16. 16

    python3 단위 테스트, 작동하지 않는 인스턴스 메서드의 반환 패치

  17. 17

    Android 단위 테스트가 업데이트되지 않습니다.

  18. 18

    단위 테스트에서 잠금이 작동하지 않음

  19. 19

    단위 테스트가 작동하지 않음-Ruby using test-unit

  20. 20

    Angular 2 Observable Service Karma Jasmine 단위 테스트가 작동하지 않음

  21. 21

    Tensorflow fully_connected가 단위 테스트 케이스에서 작동하지 않습니까?

  22. 22

    데이터베이스 함수 Mock이 C # 웹 API 단위 테스트에서 작동하지 않습니다.

  23. 23

    단위 테스트 케이스 MockRestServiceServer 예상 URL이 RestTemplate에서 작동하지 않습니다.

  24. 24

    테스트 케이스를 실행할 때 Django의 user_logged_in 신호가 작동하지 않습니다.

  25. 25

    단위 테스트는 발견되지 않습니다.

  26. 26

    Chutzpah가 작동하지 않는 간단한 TypeScript 테스트

  27. 27

    Django 테스트는 작동하지 않지만 뷰는 작동합니다.

  28. 28

    PHP 단위 테스트 : 테스트 케이스를 실행하는 동안 모의 메서드가 트리거되지 않습니다.

  29. 29

    @JsonView는 간단한 테스트에서 작동하지 않습니다.

뜨겁다태그

보관