MEAN.js 사용해보십시오. 그런 다음 TravisCI도

TravisCI로 테스트에 실패해도 PASS라고 되어 버립니다만, ,, 누군가 가르쳐 주세요라고 하는 것으로, 지금까지 작업한 내용을 들려 봅니다.

최근 일에서 javascript 사용하고 있으므로, 스스로도 뭔가 어플을 만들려고 생각해, 환경 구축중.

MEAN.js는 MongoDB, Express, AngularJS, Node.js이 조합.
클라이언트도 서버도 javascript로 만들 수 있다. Mongo도 JSON 취급하므로 친화성이 높은 조합 같다.

MEAN.js에서 앱 만들기



우선 GitHub에 리포지토리 생성


$ mkdircd ~/uzura
$ touch README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin [email protected]:akokubu/uzura.git
$ git push -u origin master

Yoeman으로 편지지 만들기


$ sudo npm install -g yo
$ sudo npm install -g generator-meanjs

$ yo meanjs
You're using the official MEAN.JS generator.
? What would you like to call your application? UZURA
? How would you describe your application? Full-Stack JavaScript with MongoDB, Express, AngularJS, and Node.js
? How would you describe your application in comma seperated key words? MongoDB, Express, AngularJS, Node.js
? What is your company/author name? LONGPOSITION INC.
? Would you like to generate the article example CRUD module? Yes
? Which AngularJS modules would you like to include? (Press to select)
❯◉ ngCookies
◉ ngAnimate
◉ ngTouch
◉ ngSanitize

이름 넣을 정도로 디폴트. README.md가 conflict하므로 덮어 쓰기 (Y) 지정

MongoDB



이전에 homebrew로 넣었던 것 같습니다. 시작합니다.
$ mongod

앱 시작


$ grunt
[nodemon] starting `node --debug server.js`
debugger listening on port 5858

 NODE_ENV is not defined! Using default development environment
MEAN.JS application started on port 3000

시작한 것 같습니다. 자동으로 브라우저를 열지 않습니다.
http://localhost:3000/
방문하여 샘플 앱이 표시되면 OK!

테스트 실행


$ grunt test

6 passing (160ms)라고 나와 있으므로 처음부터 준비된 테스트가 실행되고있는 것 같다.

TravisCI



지속적인 통합은 사람입니다. 처음에 겨우 하지 않으면 끝까지 하지 않기 때문에.

GitHub의 공개 리포지토리라면 무료라는 것. 숨기는 것도 없고, 누구에게도 주목받지 않기 때문에 이것으로 괜찮다.
h tps://t 등ゔぃs-해. 오 rg

GitHub의 계정으로 로그인하면 리포지토리 목록이 나오므로 조금 전에 만든 리포지토리를 ON으로 한다.

.travis.yml 라고 파일이 필요 같지만, 편지지에 포함되어 있으므로 괜찮을 것 같으므로, 우선 그대로 push 해 본다.

travis.yml
language: node_js
node_js:
  - "0.10"
env:
  - NODE_ENV=travis
services:
  - mongodb
$ git add .
$ git commit -m "meanjs generate"
$ git push

빌드 성공했다.
build pass

테스트 실패를 시도



app/tests/user.server.model.test.js
    describe('Method Save', function() {
        it('should begin with no users', function(done) {
            User.find({}, function(err, users) {
                users.should.have.length(0);
                done();
            });
        });

users.should.have.length(0);

users.should.have.length(1);
これで失敗するはず
$ git commit -am "test fail"
$ git push

TravisCI 빌드가 실패하지 않습니다 ...
build fail1
build fail2
테스트는 실패하고 있는 것 같은데, 빌드 자체는 PASS. 로컬로 실행해도 종료 코드가 0이 되어 있어, 어떻게 하면 테스트에 실패하면, 빌드가 실패하게 되는지 모르겠다・・・

좋은 웹페이지 즐겨찾기