2017-12-15 36 views
1

: 난, APIClient의 게시물을 사용테스트 여러 파일 업로드 장고 나머지 프레임 워크 내가 주도 개발 테스트에 새로 온 사람 때문에 같은 엔드 포인트 테스트하려고했다

을 모델로

class EDMListViewSet(viewsets.ModelViewSet): 
    queryset = EDMList.objects.all() 
    serializer_class = EDMListSerializer 

: 내 모델 뷰셋에 POST 요청을 전송

class EDMList(models.Model): 
    tickers = models.CharField(max_length=512) 
    email_list = models.FileField(upload_to='edm_list/consolidated_emails') 
    exclude_list = models.FileField(upload_to='edm_list/excluded_emails') 
    exclude_keywords = models.CharField(max_length=512) 
    similar_user_num = models.IntegerField() 

과 시리얼 :

Traceback (most recent call last): 
    self.assertEqual(response.status_code, status.HTTP_200_OK) 
AssertionError: 400 != 200 

을하지만이 검색 가능한 API를 열고이 게시 될 때마다, 나는 제대로 실행 : 내 테스트를 실행할 때마다

class EDMListSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = EDMList 
     fields = ('tickers', 'email_list', 'exclude_list', 'exclude_keywords', 'similar_user_num') 

는 지금, 그것은 반환합니다. 나는 클라이언트의 게시물을 어떻게 사용하는지 문제가 있다고 생각하지만, 내가 뭘 잘못하고 있는지 전혀 모른다.

+0

당신이 다중 형식으로 시도 할 수 이것에

data = { 'exlude_list': exl, 'simular_user_num': similar_user_num } 

이에서? 'c.post (url, data, format = 'multipart')' –

+0

@GabrielMuj 응답 해 주셔서 감사합니다! 불행하게도 나는 이미 이것을 시도했지만 여전히 상태 코드 400이된다. – Castle

+0

결국 코드를 ​​마쳤지 만 TDD 방식으로 프로그래밍하지 않았다. 나는 아직도이 일을하고 싶었고, 나는 단지 어떻게해야할지 모른다. – Castle

답변

0

나는 인쇄상의 오류라고 인정하는 것을 부끄러워합니다.

data = { 
      'exclude_list': exl, 
      'similar_user_num': similar_user_num 
     } 
+0

그것은 우리 모두에게 일어납니다 :) –