jasmine-maven-plugin 経由で Jasmine を使用しています。Maven ビルド出力で console.log() メッセージを確認したいと考えています。これを達成する方法はありますか?
console.log() をリダイレクトできない場合、テストからログを記録して Maven ビルド出力に表示する方法はありますか?
これらのテストを Jenkins でヘッドレス方式で実行しており、テストからデバッグ出力を取得する手段が必要です。
jasmine-maven-plugin 経由で Jasmine を使用しています。Maven ビルド出力で console.log() メッセージを確認したいと考えています。これを達成する方法はありますか?
console.log() をリダイレクトできない場合、テストからログを記録して Maven ビルド出力に表示する方法はありますか?
これらのテストを Jenkins でヘッドレス方式で実行しており、テストからデバッグ出力を取得する手段が必要です。
試す
console.info('foo')
テストJavaScriptから。
以下を使用できます。
jasmine.log("I've got a big log.");
以下の douglas-treadwell のコメントconsole.log
に従って、直接使用してください。
ノード環境で実行している場合。あなたが使用することができます
process.stdout.write("this will be send to the console");
ありえないと思います。
スペック ローダーの console.log 実装を上書きする必要がありました。すなわち(jQueryを使用):
var console = {
panel: $('body').append('<div>').css({position:'fixed', top:0, right:0,background:'transparent'}),
log: function(m){
this.panel.prepend('<div>'+m+'</div>');
}
};
console.log('message 1');
console.log('message 2');
ここ に機能的な例があります
私はjasmine 2
viaguard
を使用しており、テスト内のphantom js
標準メッセージが jasmine スペック ランナーのコンソールに問題なく出力されることがわかりました。console.log
また、テストしている JavaScript コード要素内のメッセージは書き出されますが、テスト自体のメッセージはconsole.log
書き出されないことstdout
もわかりました。console.log
grunt/karma/jasmine (karma-jasmine 0.2.2) を使用して同じ問題に遭遇しました -
Dave Sag が言ったことに沿って、私console.log
がテストしているコードからのメッセージはすべて正常に実行されることがわかりましたがdescribe() {}
、it() {}
ブロックからは何もログに記録されません。
ブロックからログに記録できることがわかりました。beforeEach() {}
少なくともそれは私のために働いた:
beforeEach(function() {
this.model = new blahModel();
console.log('this.model = ', this.model);
});
これはブラウザ コンソールにのみログインし、何らかの理由でコマンド ラインにログインしないことに注意してください。テストされたコード ブロックの console.log ステートメントがコマンド ラインに記録されると、やや奇妙になります。私はまた、ここで一貫したロギングのためのより良いアプローチと思われるものを見つけました.
更新 :実際には、ログがブロックに対しても機能しているのを確認しています。これを妨げている他のエラーがあったと思います。