プラグインを使用しgulp-jasmine-node
て Jasmine/Frisby.js テストを次のように実行しています。
gulp.task('runJasmine', function() {
return gulp.src(['test/*spec.js'])
.pipe(jasmineNode({
timeout: 10000
}));
});
gulp.task('test', ['runJasmine']);
ローカルで実行gulp test
すると、次のようになります (スニペットのみ):
2) Frisby Test: Get API root
[ GET http://localhost:8080/api ]
Message:
Error: Header 'content-type' not present in HTTP response
Stacktrace:
Error: Header 'content-type' not present in HTTP response
at null.<anonymous>
...
Finished in 0.042 seconds
1 test, 2 assertions, 2 failures, 0 skipped
私の .travis.yml:
language: node_js
node_js:
- "0.12"
- "4.2.4"
- "5.3.0"
before_script:
- npm install -g gulp
script: gulp test
Travis での対応する生の CI 出力 (最後のスニペットのみ):
Finished in 0.054 seconds
[31m1 test, 2 assertions, 2 failures, 0 skipped
[0m travis_time:end:00bb9734:start=1455472901504935117,finish=1455472903105906383,duration=1600971266
[0K [32;1mThe command "gulp test" exited with 0.[0m
Done. Your build exited with 0.
失敗してもビルドが成功する理由がわかりません。使用するテスト ツールに応じて、gulp を使用するときに Travis に特定の構成がありますか? プロセスがコード 0 で終了したことが原因でしょうか。その場合、失敗時にプロセスを終了するように gulp コマンドを変更する必要がありますか (ランナーの他のタスクを中断するので理想的ではありません)。
この問題または同一のセットアップが事前に対処されているようには見えません。助けてください!また、これは私の最初のスタック オーバーフロー Q であるため、必要なすべての情報を提供できれば幸いです。ありがとう :)