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を使用しています。
私は問題の可能性がある点についてお答えします。
私の最初の本能は、ローカルマシンにJenkins build server/slaveで利用できないものがあるということです。テストを実行できるようにbuildslaveが正しくセットアップされていますか?そのサーバーで手動で実行しようとしましたか? – Cronax
@Cronax私はジェンキンズ機に直接アクセスできませんでしたが、私はそれを手に入れています。私は手動で構築し、あなたの投稿を維持しようとします。 –