sbt-assembly
特定のテスト クラスをスキップするように構成したいと考えています。
これを行う方法はありますか?それが役立つ場合は、ScalaTest@Network
タグを使用してテストにタグを付けました。
sbt-assembly
特定のテスト クラスをスキップするように構成したいと考えています。
これを行う方法はありますか?それが役立つ場合は、ScalaTest@Network
タグを使用してテストにタグを付けました。
共有ソースを使用した追加のテスト構成を参照してください。FunTest
これにより、テストソースを再利用しながら、構成で代替の「テスト」タスクを考え出すことができます。
をfun:test
使用して定義したフィルターを使用しtestOptions in FunTest := Seq(Tests.Filter(itFilter))
た後、再配線できます。
test in assembly := test in FunTest
Eugene の言うことは (明らかに) 正しいのですが、それを機能させるには十分な情報ではありませんでしたbuild.scala
。ファイルがあります。私はbaseSettings
次のように定義しています:
val baseSettings = Defaults.defaultSettings ++
buildSettings ++
Seq(sbt.Keys.test in assembly := {})
テストに でタグ付けするとignore
、sbt/ScalaTest はそれらを実行しません。タグ付けテストに関する ScalaTest のドキュメントを参照してください。
完全を期すために、アセンブリタスクのすべてのテストをスキップしたい場合、または特定のテストのみを実行したい場合は、カスタマイズできますtest in assembly := { ... }
@eugene-yokata の返信に基づいて、ScalaTest のフラグの使用方法を見つけました。
lazy val UnitTest = config("unit") extend (Test)
lazy val companyApp = (project in file("applications/"))
.assembly("com.company.app", "app.jar")
.configs(UnitTest)
.settings(
inConfig(UnitTest)(Defaults.testTasks),
UnitTest / testOptions ++= Seq(
Tests.Argument(
TestFrameworks.ScalaTest,
"-l",
"com.company.tag.HttpIntegrationTest"
),
Tests.Argument(
TestFrameworks.ScalaTest,
"-l",
"com.company.tag.EsIntegrationTest"
)
),
test in assembly := (UnitTest / test).value
)