2016-03-05 8 views
7

jenkinsでカルマを使用してangular2ユニットテストを実行すると、次のエラーが発生します。Linux上のjenkins経由でangular2テストを実行するとカルマエラーが発生する

私のローカルマシン(Windows)でテストを実行すると問題はなくなりますが、Linux上でjenkins経由でテストを実行すると、次のエラーが表示されます。

Missing error handler on `socket`. 
TypeError: (msg || "").replace is not a function 
at /home/hudson/.hudson/jobs/workspace/pjt/node_modules/karma/lib/reporter.js:45:23 

私のテストでは、これを引き起こす可能性のあるアイディアは決して開始されません。私はカルマのソースコードを見て、なぜ問題があるのか​​理解できませんでした。

return function (msg, indentation) { 
// remove domain and timestamp from source files 
// and resolve base path/absolute path urls into absolute path 
msg = (msg || '').replace(URL_REGEXP, function (_, prefix, path, __, ___, line, ____, column) { 
    if (prefix === 'base') { 
    path = basePath + path 
    } 
    // more code here ... 

私は両方のローカルおよびジェンキンスに関連性の場合には、テストランナーとしてPhantomJSを使用しています。

私は問題の可能性がある点についてお答えします。

+0

私の最初の本能は、ローカルマシンにJenkins build server/slaveで利用できないものがあるということです。テストを実行できるようにbuildslaveが正しくセットアップされていますか?そのサーバーで手動で実行しようとしましたか? – Cronax

+0

@Cronax私はジェンキンズ機に直接アクセスできませんでしたが、私はそれを手に入れています。私は手動で構築し、あなたの投稿を維持しようとします。 –

答えて

3

これについて私自身の質問に答えるには。

私のカルマファイルセクションに問題があったことが分かります。

{ pattern: 'node_modules/rxjs/bundles/rx.js', included: true, watched: true } 

RXモジュールのファイル名は、Linuxが、これは、それは、Linux上でWindowsのdevの環境で働いていたし、失敗した理由で大文字と小文字が区別された状態でnode_modules/rxjs /バンドル/ Rx.js

ですサーバーを構築します。

rx.jsファイルの404メッセージがログに記録されていましたが、他の多くのデバッグログの中で欠けていました。

レッスンを学んだ:)

関連する問題