8

テスト クラス、リソースをパッケージ化し、依存関係を sbt アセンブリでテストする必要があります。

この質問sbt-assembly : include test classesは役に立ちませんでした - test:assembly は、必要なクラスが含まれている jar をまだ生成しませんでした。

私のセットアップは現在次のようになっていることに注意してください。

FooBuild.scala:

lazy val cucumberAssemblySettings = assemblySettings ++ Seq(
    mainClass in assembly := Some("cucumber.api.cli.Main"),
    jarName   in assembly := "cucumber.jar",
    mergeStrategy in assembly := {
      case "application.conf"     => MergeStrategy.concat
      case "logback.xml"          => MergeStrategy.last
      case x                      => defaultMergeStrategy(x)
    }
  )

そして、それはサブプロジェクトについてfoo-cucumberです:

lazy val foo_cucumber = Project("foo-cucumber", file("foo-cucumber"))
    .settings(defaultSettings: _*)
    .settings(cucumberAssemblySettings: _*)
    .dependsOn(
      foo_test_server % "compile->compile;test->test",
      foo_test_utils % "compile->compile;test->test"
    )

上記の設定に追加(Test, assembly)しても、呼び出してsbt foo-cucumber/test:assemblyも、sbt foo-cucumber/assembly

すべてが入っている jar を取得するにはどうすればよいですか (クラスと依存関係をコンパイルしてテストします)

4

1 に答える 1

4

マルチモジュール プロジェクトの鍵は、次のように設定することです。

.settings(inConfig(Test)(cucumberAssemblySettings): _*)

そして、設定に何もありませんin (Test, assembly)

于 2015-01-08T17:33:25.783 に答える