자동 테스트를 돌리기 위해 Postman 을 설치해 사용했다. Postman은 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이다. Mock 서버를 열 수도 있고 TEST 코드를 작성하는 등, API 테스트에 필요한 다양한 기능을 가지고 있다. 설치하여 사용하면 된다.

Postman | The Collaboration Platform for API Development

Postman을 사용해 미디버스 재생량 통계 서버에 데이터를 쌓는 작업을 진행했다. Postman에 있는 Code runner 기능을 사용하면 같은 request 작업을 원하는 만큼 자동으로 수행할 수 있다.

Collections에 테스트 코드를 작성한다.

Postman test source 기본 문법

테스트 코드 작성

임시 재생 데이터를 request body에 설정했다. Dynamic한 변수가 들어갈 수 있도록 아래와 같이 작성했다.

{
    "play20": 1,
    "play40": 0,
    "play60": 0,
    "play80": 0,
    "play100": 0,
    "mediaPos" : 1,
    "mediaLength" : 5,
    "channelId": "test_ch_{{channelIdIdx}}",
    "objectId": "object_ch_{{objectIdIdx}}",
    "type" : "flow",
    "uuid" : "{{$guid}}",
    "date" : "202102040000"
}

테스트 코드는 아래와 같다. 0~9 까지의 번호로 channelId와 obejctId가 다른 값들이 랜덤하게 들어가 집계되도록 했다.

const channelIdIdx = Math.floor( Math.random() * 10 );
const objectIdIdx = Math.floor(Math.random() * 10);

pm.environment.set("channelIdIdx", channelIdIdx);
pm.environment.set("objectIdIdx", objectIdIdx);
pm.variables.replaceIn('{{$guid}}')

pm.test("Status code is 200", function(){
    pm.response.to.have.statusCode("200")
});

Test runner 설정

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fb369c7a-b2f3-4969-8ee6-3b59a082bd8d/Untitled.png