본문 바로가기
notion/npm package

mockserver 를 이용해 mock서버 만들기[2]

by 서수이 서수이 2021. 2. 4.
반응형

mock서버의 포트를 정의해주는 명령어를 만들도록 하겠다.
기본적으로 mock서버의 포트는 테스트하기 좋게 임의로 정해준다.

yargs 패키지를 쓰면 스크립트에 넣은 옵션 값들을 받아 올 수 있고, .env로 사용을 하고 싶다면 .env 파일을 작성해서 불러오면 된다.

//package.json

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "mockAPI": "node mocks/index.js add --portAPI=10001"
  },

저렇게 add --portAPI라고 추가를 해두면 기존에 설치한 yargs패키지가 인식을 해서 포트를 읽어온다.

index 서버 파일을 작성해보겠다.

#!/usr/bin/env node
const http = require('http');
const mockserver = require('mockserver');

const argv = require('yargs').argv;
const portAPI = argv.portAPI || 10002;
const directory = argv.dir || 'mocks';

process.on('SIGINT', () => { console.log("Bye bye!"); process.exit(); });

const apiServer = (directory, port, verbose = true) => {

  http.createServer(mockserver(directory, verbose)).listen(port, (error) => {
    if (error) {
        console.log(`Mock server unhandled exception`, error);
        return;
    }

    if (verbose) {
        const url = `http://0.0.0.0:${port}`.green
        console.log(`Mockserver serving ${directory} start: ${url}`);
    }
})
}

apiServer(directory, portAPI, true);

여기까지 mock서버의 기본 서버는 작성이 되었다.
간략하게 위 코드를 설명하자면 yargs 를 이용하여 port 와 디렉토리를 가져온다.

우선은 port10001 이며 혹시 지정을 안한다면 10002로 설정하고, directory를 따로 설정을 안해주어서 mocks 폴더를 가르킨다.

이제 서버를 띄워서 메인 페이지가 잘 실행이 되는지 확인을 한다.

실행


✗ npm run mockAPI

내일은 GET, POST, DELETE, PUT, PATCH, OPTIONS, HEAD 메소드에 맞게 호출하고 사용하는 코드 작성을 하도록 해야겟다.

현재 위에서 not Mocked라고 나오는 부분은 아마도 GET.mock파일을 제대로 잡지를 못한 것 같아보인다.

이제 좀 자야겟다

GITHUB주소 :github.com/xersuy/custom_react

 

xersuy/custom_react

custom component. Contribute to xersuy/custom_react development by creating an account on GitHub.

github.com

 

xxxxersuy.com/25

 

mockserver 를 이용해 mock서버 만들기[3]

mock 서버에서 GET, POST, DELETE, PUT, PATCH, OPTIONS 와 같은 것들을 호출을 해보도록 하겠다. 아래와 같이 호출을 해보려고 한다. 폴더 구조를 하나 만든다. mocks/ 내부에 폴더를 나눈다. 우선 테스트로 api

xxxxersuy.com

 

반응형

태그

, , ,

댓글0