2016-08-02 19 views
1

残念ながら、2つの質問があるかもしれません。私はlog4jロガーを私が単体テストするいくつかのクラスにセットアップしました。 mvn clean installを実行すると、明らかにそれらのテストが実行され、ログファイルが作成されます(これは通常、エキサイティングなものはログに記録されないため空です)。これは必ずしも問題ではありませんが、私がPerform Maven Releaseをしたときにジェンキンスはこれが好きではないようです。ローカル変更があるワークスペースについて叫び、失敗を宣言する前にログファイルを引用します。ユニットテストのログファイルによりJenkins Mavenのリリースが失敗する

私はそれらを統合テストに変更したり無視したりすると、すべてがうまく動作するため、単体テストが分かります。しかし、解決策ではない解決策が欲しいです。

これを解決するためのJenkinsの構成はありますか?

ユニットテストのロッキングを無視するか、無視する戦略がありますか?

必ずしも無視する必要はありませんが、リリースを作成することには干渉しています。

答えて

2

私が何をするかPerform Maven Releaseの非常に認識していないが、私は、ソリューションのカップルを提案することができます:

  1. ログファイルが実行ごとに再生成されますように私は、(ソースコードリポジトリからログファイルを削除しますあなたのソースコードリポジトリに存在するはずはないと思います)。このことができます

・ホープ -

  • は(https://git-scm.com/docs/gitignore例えばGitはファイルと呼ばれるgitignoreを使用しています)バージョンコントロールによって無視されたファイルの一覧に問題のあるログファイルのパスを追加します!

  • +0

    Amitは私たちのために働く#2のソリューションを持っています - 私たちはSVNを使用していますので、これらのファイルを.svn-ignoreに追加すると 'mvn release:prepare'がうまくいきます。 – Hatley

    +0

    ブリリアント。次回のリリースでこれがうまくいくかどうかはわかりますが、ジョブリストのワークスペースには表示されません。良いアイデア。 –

    1

    アミットは、いくつかの良いアイデアを持っている、と私はいくつかのより多くを提案ます:

    • 使用slf4jプロジェクトにログインするための、1を行くテストフェーズ
    • 中にロギング実装を結合しませんテストフェーズ中にバインドしてメモリに記録します。次に、ログ記録に対してテストを書いて、期待通りの結果が得られるようにすることもできます。
    関連する問題