2012-09-09 13 views
10

jasmine-nodeでnodejsモジュールをテストするためにtravis-ciを取得しようとしています。コマンドラインからテストを実行すると、それらはすべて合格しますが、何らかの理由でTravisは常に自分のビルドが失敗したと報告します。私.travis.ymlは、次のようになります。jasmine-node付きTravis-CI

language: node_js 
node_js: 
    - 0.6 
    - 0.8 

と私のpackage.jsonは以下のようになります。私は私のtravis.ymlに

language: node_js 
node_js: 
    - 0.6 
    - 0.8 
before_script: 
    - "sudo npm i -g jasmine-node" 
をbefore_scriptを追加しようとしました

"scripts": { 
    "test": "jasmine-node tests/*.spec.js" 
} 

アイデア?

+0

あなたはdevの依存関係としてjasmine-nodeを持っていますか?失敗したTravis-CIテストの出力は?公開されているので、テストへのリンクを投稿するだけです。 –

+0

私は実際に走ってきました。私は今私の答えを投稿しています。 – thewildpendulum

+1

また、開発依存関係をpackage.jsonに--save-devフラグを付けて追加することもできます。例: 'npm install -save-dev jasmine-node' – Noah

答えて

10

travis-ci lint web appで時間を費やしたところ、私の.travis.ymlファイルでフォーマットが行われたようです。私のテキストエディタはタブを挿入していました。ここではyamlはスペースのみを必要としているようです。私はまた、良い指標のためにすべての周りに引用符を追加しました。それは今確か私は単一のスペースや改行を使用していた行った後、このようになります

language: node_js 
node_js: 
    - "0.6" 
    - "0.8" 
before_script: 
    - "npm i -g jasmine-node" 
+0

@dan-taoが提案した 'before_script'から' sudo'を削除するように更新しました – thewildpendulum

+0

ありがとうございました! –

0

私はいくつかの時間前に同様の問題があった、私は時間ジャスミン・ノード-gで使用していたと単純なkataだったので、フォルダにpackage.jsonを追加する必要はないと思っていましたが、同じプロジェクトをtravis-ciと統合すると、私は地獄を通って設定することができました。

:私はいいとタイトなものを維持し、代わりにグローバルな設備のあなたの優しいpackage.jsonを使用することをお勧めしていることを学んできた時点で

は(Why to avoid global test runners良いポストは、例えば、ここでそれについて話があります)あなたは限り短くpackage.json、何かにジャスミン・ノードを追加するために私のアドバイスは、次のようになり、この

{ 
    "name" : "XXX", 
    "version" : "1.0.0", 
    "devDependencies" : { 
     "jasmine-node" : "latest" 
    }, 
    "scripts" : { 
     "test" : "jasmine-node specs/*spec.js" 
    } 
} 

きっとあなたの頭痛だけでなく、トラヴィス-CIの統合との時間を設定するのトン、およびそれを保存します誰かがあなたがしたことを再利用したい場合に備えて、他の誰かの時間を節約することができます。 ;)

1

ここには、jasmine-nodeテストを開始したtravisビルドの実例があるリポジトリがあります:https://github.com/yosethegame/yosethegame

package.jsonは、travisがnpmインストールフェーズでインストールするjasmine-nodeの依存関係を宣言しています。

関連する問題