他の場所にデプロイできる単一の jar ファイルを作成するために、sbt-assembly を実行しています。ローカルの .class ファイルではなく、この jar ファイルに対してテストを実行したいと考えています。ローカルの .class ファイルに対して実行するのがデフォルトですが、sbt test
代わりに jar をテストしたいと思います (ただし、テスト クラス ファイルを jar に組み込むことはありません)。
2569 次
1 に答える
1
テストでアセンブリ jar をビルドするには、構成する必要があります
import AssemblyKeys._
Project.inConfig(Test)(baseAssemblySettings)
jarName in (Test, assembly) := s"${name.value}-test-${version.value}.jar"
これで、test:assembly を使用して uber-jar を準備できます。ただし、この jar を使用して sbt からテストを実行する簡単な方法がわかりません。内部でこのようなことを行う test:run-test-assembly のようなカスタム コマンドを使用します。
scala -classpath uber-jar-test.jar classpath scalatest-<version>.jar org.scalatest.tools.Runner -p compiled_tests
sbt-assembly はアセンブリ段階でテストを実行していますが、まだパッケージ化されていないクラスに対して実行していると確信しています。おそらく、それらをアセンブリフェーズから除外したいでしょう
test in (Test, assembly) := {}
于 2014-10-17T14:09:56.237 に答える