如何在用Java编写的多模块播放项目中运行单元测试

时间:2019-07-04 18:53:56

标签: java scala playframework sbt

因此,我具有一个用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/-上,它们将不会运行。

缺少什么可以运行我的测试?

1 个答案:

答案 0 :(得分:1)

您需要使用聚合。这里引自sbt docs

  

聚合意味着在聚合上运行任务   项目还将在汇总的项目上运行它。

尝试使用此

lazy val whole = project.in(file("."))
  .aggregate(first, second)
  .enablePlugins(PlayMinimalJava)
  .dependsOn(first, second)