ProgramingTip

node.js에서 하나의 "npm test"명령으로 mocha 및 mocha-phantomjs 테스트를 실행하는 방법은 무엇입니까?

bestdevel 2020. 12. 25. 10:28
반응형

node.js에서 하나의 "npm test"명령으로 mocha 및 mocha-phantomjs 테스트를 실행하는 방법은 무엇입니까?


node.js 환경과 브라우저 작동하는 노드 패키지가 거의 없습니다. 이제 각 환경에 대해 두 개의 별도 테스트가 있습니다. npm test명령 만으로도 테스트를 실행하는 가장 좋은 방법은 무엇입니까? 또한이 패키지를 travis에 추가하고 싶습니다.

나는 mochamocha-phantomjs.

노드 테스트

node ./node_modules/mocha/bin/mocha ./test/node/index.js --reporter spec

브라우저 테스트 명령

node ./node_modules/mocha-phantomjs/bin/mocha-phantomjs ./test/browser/index.html

내가 시도한 것 :

  1. npm test세미콜론으로 구분 펼쳐 에이 명령을 추가 하십시오.
    • : 첫 번째 펼쳐서 오류가있는 경우 두 번째 펼쳐서 오류가없는 명령이 0으로 종료되고 travis 빌드가 통과했습니다.
  2. 노드 명령을 npm test펼쳐 에서 테스트하고 브라우저 테스트를위한 사용자 지정 펼쳐보기를 만듭니다. 이 두 명령 ( npm testnpm run-script test-browser)을 travis.yml에 배열로 추가합니다.
    • 문제 : 사용자는 두 개의 독립적 인 테스트 펼쳐보기를 수동으로 실행해야합니다.
  3. npm test펼쳐 놓은 노드 명령을 테스트하고 명령 에 브라우저 테스트를 추가하십시오 npm posttest. Travis.yml은 하나의 펼쳐서 가지고 있어야합니다. 또한 하나의 펼쳐서 실행해야 할 것입니다 (모두가 행복합니다).
    • 문제 : 옳지 않아서 더 좋은 방법이 있는지 알고 싶었습니다.


나는 다음을 좋아합니다 :

  "scripts": {
    "test": "npm run test-node && npm run test-browser",
    "test-node": "mocha -R spec ./test/node/index.js",
    "test-browser": "mocha-phantomjs ./test/browser/index.html"}

&&첫 번째 통과하면 두 번째를 실행하고 당신은 동화적으로 당신이 원하는 경우에 사용할 수 있습니다. 그 NPM은 항상 사용합니다 상대 모카 그래서 그냥 호출에 전혀 해가 없다, (node_modules 내부)가 아닌 세계를 mocha그리고 mocha-phantomjs직접적으로는. -b오류가 발생하는 즉시 종료되는 보석에 대한 mocha의 옵션을 사용하면 훨씬 더 많이 있습니다 .


구성에 대한 정보를 찾고 여기 온 npm과 함께 karma. @dankohn의 대답 은 다음과 같이 있습니다.

"scripts": {
  "test": "npm run test-node && npm run test-browser",
  "test-node": "karma run",
  "test-browser": "karma start --single-run"
}

이것이 다른 사람을 돕기를 바랍니다.


npm-run-all패키지를 사용할 수도 있습니다 .

npm install npm-run-all --save-dev

"scripts": {
  "test": "npm-run-all test-mocha test-mocha-phantomjs",
  "test-mocha": "mocha ./test/node/index.js --reporter spec",
  "test-mocha-phantomjs": "mocha-phantomjs ./test/browser/index.html"
}

mocha및의 로컬 복사본을 실행 mocha-phantomjs합니다. Twitter 부트는이 라이브러리를 개발에 사용합니다.

참조 URL : https://stackoverflow.com/questions/20376269/how-to-run-mocha-and-mocha-phantomjs-tests-from-one-npm-test-command-in-node-j

반응형