69

jasmine-maven-plugin 経由で Jasmine を使用しています。Maven ビルド出力で console.log() メッセージを確認したいと考えています。これを達成する方法はありますか?

console.log() をリダイレクトできない場合、テストからログを記録して Maven ビルド出力に表示する方法はありますか?

これらのテストを Jenkins でヘッドレス方式で実行しており、テストからデバッグ出力を取得する手段が必要です。

4

8 に答える 8

58

試す

console.info('foo')

テストJavaScriptから。

于 2015-04-01T10:41:58.673 に答える
41

ジャスミン 1.x

以下を使用できます。

jasmine.log("I've got a big log.");

ジャスミン 2+

以下の douglas-treadwell のコメントconsole.logに従って、直接使用してください。

于 2013-03-08T17:00:17.893 に答える
12

ノード環境で実行している場合。あなたが使用することができます

process.stdout.write("this will be send to the console");
于 2016-09-14T14:59:51.057 に答える
4

ありえないと思います。

スペック ローダーの 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');

ここ に機能的な例があります

于 2012-06-15T12:12:13.883 に答える
3

私はjasmine 2viaguardを使用しており、テスト内のphantom js標準メッセージが jasmine スペック ランナーのコンソールに問題なく出力されることがわかりました。console.log

また、テストしている JavaScript コード要素内のメッセージは書き出されますが、テスト自体のメッセージはconsole.log書き出されないことstdoutもわかりました。console.log

于 2014-03-25T01:35:25.093 に答える
3

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 ステートメントがコマンド ラインに記録されると、やや奇妙になります。私はまた、ここで一貫したロギングのためのより良いアプローチと思われるものを見つけました.

更新 :実際には、ログがブロックに対しても機能しているのを確認しています。これを妨げている他のエラーがあったと思います。

于 2014-12-15T16:07:02.157 に答える