Mocha-Sinon

설치

npm i -D mocha sinon sinon-chai

설정

  • .mocharc.json
{
  "diff": true,
  "extension": ["js"],
  "watch-extensions": ["js"],
  // "opts": "./test/mocha.opts",
  "package": "./package.jso",
  "reporter": "spec",
  "slow": 75,
  "timeout": 1000,
  "ui": "bdd"
}

디버깅

vscode

  • vscode에서 테스트 파일을 열린 상태에서 디버깅 실행

  • import 구문 사용을 위해 @babel/register 모듈 필요 - babel7

  • launch.json file

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Run mocha",
      "type": "node",
      "request": "launch",
      "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
      "stopOnEntry": false,
      "args": [
        "tests/**/*.js",
        "--no-timeouts",
        "--require",
        "@babel/register"
      ],
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": null,
      "env": { "NODE_ENV": "testing" }
    }
  ]
}

mocha sidebar (vscode 플러그인)

  • nyc 모듈 필요
npm i -D nyc

chrome inspect

  • chrome 브라우저의 개발 툴에서 제공하는 디버깅 사용

설정

  • mocha --watch --inspect-brk 명령어를 직접 실행해도 됨

  • launch.json file - vscode 사용

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Mocha Tests",
      "program": "${workspaceFolder}/node_modules/mocha/bin/mocha",
      "args": ["--watch", "--inspect-brk"],
      "console": "integratedTerminal",
      "sourceMapPathOverrides": {
        "webpack:///./src/*": "${webRoot}/*",
        "webpack:///./node_modules/*": "${workspaceFolder}/node_modules/*"
      }
    }
  ]
}

실행

  • 테스트 파일 편집 상태에서 F5를 클릭하여 launch에 설정한 내용을 실행

  • chrome 브라우저 url에서 chrome://inspect/#devices 입력

  • 시간이 조금 경과하면 Remote Target에 프로젝트 정보가 보임 -> inspect 클릭

  • chrome 개발 툴이 실행되면서 디버깅 가능해짐

참고

'JS' 카테고리의 다른 글

babel setting  (0) 2020.07.14
Sinon.JS  (0) 2019.08.26
[Vuejs] mocha+chai+sinon 테스트  (0) 2019.08.13
Static server  (0) 2019.08.05
[js]Backbonejs - r.js build 환경 설정  (0) 2014.05.14

+ Recent posts