2013年7月12日金曜日

sbtでJUnit実行後にレポートを出力

sbtでJUnitのテストを実行するにはbuild.sbtのlibraryDependenciesに以下を追加するだけです。

"com.novocode" % "junit-interface" % "0.8" % "test->default"

しかし、これだけだとコンソールに結果が表示されるだけで、xmlに結果は出力されません。
xml形式のレポートを出力するためにはsbt-simple-junit-xml-reporter-pluginを導入する必要があります。

Githubのページにもありますが導入は非常に簡単で、project/project/plugins.scalaに以下を記述するだけです。

project/project/plugins.scala

import sbt._

object Plugins extends Build {
    lazy val plugins = Project("plugins", file("."))
    .dependsOn(
        uri("git://github.com/bseibel/sbt-simple-junit-xml-reporter-plugin.git")
    )
}

このプラグイン導入後にJUnitのテストを実行すると、プロジェクトのルートディレクトリのtest-reportsディレクトリにxmlのレポートが出力されます。

ただ、ルートディレクトリに勝手に出力されるのが気に入らなかったので、target/test-reportsディレクトリに出力されるよう書き換えたものをGithubに上げました。
shinichy/sbt-simple-junit-xml-reporter-plugin

project/project/plugins.scalaで指定したuriを以下のようにgit://github.com/shinichy/sbt-simple-junit-xml-reporter-plugin.gitに変更すると私が修正したものが代わりに使用されます。

project/project/plugins.scala

import sbt._

object Plugins extends Build {
    lazy val plugins = Project("plugins", file("."))
    .dependsOn(
        uri("git://github.com/shinichy/sbt-simple-junit-xml-reporter-plugin.git")
    )
}

こちらのプラグインを使用すればJUnitの結果はtarget/test-reportsディレクトリに出力されるようになります。

0 件のコメント:

コメントを投稿