2013-11-01 6 views
0

Travis CI에서 Express 프레임 워크와 MongoDb를 사용하여 만든 나머지 API 서비스를 테스트하고 싶습니다. 이 테스트는 내 컴퓨터에서 로컬로 작동하지만 트래비스 CI에서는 실패합니다. 나는 .travis.yml과 package.json에 문제가 있다고 생각한다.Travis CI에서 Node.js (Express)를 사용하여 REST API를 테스트

// opens mongodb database on port 27017 
mongod 

// reads the db and returns documents depending on the request 
node express.js 

// test CRUD operations on the app 
mocha express.test.js 

어떻게 내가 트래비스 CI에서 같은 작업을 수행 할 수 있습니다 여기에

내가 로컬 내 테스트를 실행하는 방법이다? 여기 내 애플 https://github.com/mujuni88/Express-RestApi-Tutorial입니다.

travis.yml :

language: node_js 
node_js: 
- "0.10" 
- "0.9" 
services: mongodb 
script: 
- "./node_modules/mocha/bin/mocha *.test.js" 

package.json :

{ 
    "name":"express-restapi", 
    "author":"Joe Buza", 
    "description":"Express RestApi", 
    "version": "0.0.1", 
    "private": true, 
    "keywords":["angular", "mocha", "mongodb", "express"], 
    "license":"BSD", 
    "dependencies": { 
      "express":"3.4.4", 
      "mongoskin":"0.6.0" 
    }, 
    "devDependencies":{ 
     "mocha":"1.13.0", 
     "expect.js":"0.2.0", 
     "superagent":"0.15.7" 
    }, 
    "scripts":{ 
     "start":"node express.js" 
    } 

} 
+0

TravisCI 오류 란 무엇입니까? 난 당신이 모카가 devDependencies가 아닌 의존성이 필요하다고 가정합니다. – Azat

+0

오류는 "Uncaught Error : expected {code : 'ECONNREFUSED',"입니다. 이 링크에 대한 자세한 내용은 https://travis-ci.org/mujuni88/Express-RestApi-Tutorial/jobs/13346827을 참조하십시오. 몽고범과 관련이 있을지도 몰라요? – cantfindaname88

+0

나는 똑같은 문제가있다! .travis.yml에 "node express.js"를 넣으면 트래비스가 거기에 걸리게됩니다. 이 방법은 로컬 시스템에서만 작동합니다. 이 문제를 어떻게 해결 했습니까? –

답변

2

대답은 간단합니다 - 당신이 지정되지 않은 경우 트래비스, 당신을 위해 서버를 시작하지 않습니다 스크립트 단계. 내 repository 좀 봐 (조금 복잡해 보이지만, 시험해 본다).

express.test.js에 express.js의 요구 사항을 추가하고 거기에서 서버를 시작할 수 있습니다. 모든 검사가 끝나면 그것을 떼어내는 것을 잊지 마십시오.

+0

당신 말이 맞았 어. expressjs = require ('./ express.js')와 같은 express.test.js 파일에서 ('express.js')를 요구해야만했다. 고마워요 – cantfindaname88

+0

같은 문제가 있습니다! .travis.yml에 "node express.js"를 넣으면 트래비스가 거기에 걸리게됩니다. 이 방법은 로컬 시스템에서만 작동합니다. 이 문제를 어떻게 해결 했습니까? –

관련 문제