테스팅 라이브러리

Faker

라이브러리에 대한 자세한 정보는 다음을 참고하도록 하자

Welcome to Faker's documentation! - Faker 13.3.4 documentation

Faker 라이브러리의 경우는 테스팅을 하는 과정에서 지정해준 값만 테스팅이 된다는 문제를 보완하기 위해 나왔다. 사용 결과는 다음과 같은데

위의 옵션뿐만 아니라 임의로 원하는 값을 설정하여 구할 수 있다.

Factory-Boy

라이브러리에 대한 자세한 정보는 다음을 참고하도록 하자

factory_boy - Factory Boy stable documentation

db를 활용한 api 테스트를 진행해야 할 상황에서 임의의 값을 여러번 저장을 하기 위해서는 코드가 다소 반복된 행동으로 인해서 길어질 수 있다.

class PostFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Post
    title = factory.Faker('sentence')

위와 같이 Factory를 만들어서 create_batch 함수를 이용해서 한번에 많은 객체를 생성할 수 있다.

Response 직렬화

post에 대한 응답으로 json형식의 응답이 올경우 다음과 같이 직렬화가 가능하다.

response = client.post(request_url, data)

# method1
json.loads(response.content)

# method2
response.json()

엄밀히 말하면 위의 과정은 모두 deserializer의 과정이다. .content의 경우는 byte 타입으로 결과를 반환하기 때문애 json 라이브러리를 사용해서 파이썬 객체로 변환을 해야한다.