所以我有以下项目结构和一个用 Java 编写的 play 项目:
conf\
modules\
first\
app\
test\
second\
app\
test\
build.sbt
在我的 build.sbt 中,我有以下内容
lazy val first= project.in(file("modules/first"))
.enablePlugins(PlayMinimalJava)
lazy val first= project.in(file("modules/second"))
.enablePlugins(PlayMinimalJava)
lazy val whole = project.in(file("."))
.enablePlugins(PlayMinimalJava)
.dependsOn(first, second)
现在,我想运行每个子项目中的 JUnit 测试。当我将它们放在 test/
的根目录中时,如果我执行 sbt test
,它们就会运行。但是,如果将它们移动到子项目测试目录中 - 在 modules/first/test/
和 modules/second/test/
处 - 它们不会运行。
要运行我的测试需要缺少什么?
最佳答案
您需要使用聚合。这里引用 sbt docs
Aggregation means that running a task on the aggregate project will also run it on the aggregated projects.
尝试使用这个
lazy val whole = project.in(file("."))
.aggregate(first, second)
.enablePlugins(PlayMinimalJava)
.dependsOn(first, second)
关于java - 如何在用Java编写的多模块 Play 项目中运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56893101/