10

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

language: node_js
node_js:
    - 0.6
    - 0.8

そして私のpackage.jsonは次のようになります:

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

travis.ymlにbefore_scriptを追加してみました

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

何か案は?

4

3 に答える 3

10

travis-ci lint Webアプリでしばらく過ごした後、.travis.ymlファイルのフォーマットの問題にたどり着いたようです。私のテキストエディタはタブを挿入していましたが、yamlではスペースのみを使用する必要があるようです。また、適切な測定のためにすべての周りに引用符を追加しました。

単一のスペースと改行のみを使用していることを確認した後、次のようになります。

language: node_js
node_js:
    - "0.6"
    - "0.8"
before_script:
    - "npm i -g jasmine-node"
于 2012-09-10T05:07:32.123 に答える
1

これは、travisビルド起動jasmine-nodeテストの動作例を含むリポジトリです:https ://github.com/yosethegame/yosethegame 。

は、travisがnpmインストールフェーズでインストールする依存関係をpackage.json宣言していることに注意してください。jasmine-node

于 2014-10-17T19:17:11.453 に答える
0

しばらく前に同様の問題が発生しました。当時はjasmine-node-gを使用していましたが、単純なkataであるため、フォルダーにpackage.jsonを追加する必要はないと思いましたが、統合に移ったときはtravis-ciと同じプロジェクトで、私はそれを構成できるようにするために地獄を通り抜けました。

時間の経過とともに、物事をきちんと整理し、グローバルインストールの代わりにフレンドリーなpackage.jsonを使用する方が良いことを学びました(たとえば、ここでそれについて話している良い投稿があります:グローバルテストランナーを避ける理由

私のアドバイスは、package.jsonにjasmine-nodeを追加することです。これはこれと同じくらい短いものです。

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

travis-ci統合だけでなく、他の誰かがあなたが行ったことを再利用したい場合に備えて、他の誰かの時間を節約することもできます。;)

于 2014-10-12T10:19:02.483 に答える