Sbt 如何仅在多模块构建中在单个项目中执行测试?

Sbt 如何仅在多模块构建中在单个项目中执行测试?,sbt,Sbt,我有一个多模块的建设,并希望运行不同的子项目独立测试 在sbt中是否有这样做的方法,例如,如果我的多项目构建有一个核心和公共项目,我只想在公共项目中运行测试。没关系,我遇到了以下问题: 运行sbt公用程序/测试。请参阅中的详细说明 您也可以结合使用sbt的两个命令-使用project更改当前项目,然后执行test sbt "project commons" test 你也可以使用 sbt "; project commons; test" 如果您正在交互式模式下运行sbt: > pr

我有一个多模块的建设,并希望运行不同的子项目独立测试


在sbt中是否有这样做的方法,例如,如果我的多项目构建有一个
核心
公共
项目,我只想在
公共
项目中运行
测试

没关系,我遇到了以下问题:


运行
sbt公用程序/测试
。请参阅中的详细说明

您也可以结合使用sbt的两个命令-使用
project
更改当前项目,然后执行
test

sbt "project commons" test
你也可以使用

sbt "; project commons; test"

如果您正在交互式模式下运行
sbt

> project commons
> test
您可以切换回
核心
,方法是:

> project core

要仅对已添加、修改或删除文件的子模块运行sbt测试(如果使用git),请执行以下操作:

 while read -r proj ; do sbt "project $proj" test ; \
 done < <(git status --porcelain | cut -c 3- | cut -d/ -f1
读取时-r项目;进行sbt“项目$proj”测试\

完成<另一种方法

进入SBT交互模式

>sbt

sbt:核心>公用/测试


无需在项目之间切换。

有另一种方法可以为特定模块打开sbt。 转到模块目录的位置并键入“sbt”命令

然后,sbt将仅在该模块的交互模式下打开

 while read -r proj ; do sbt "project $proj" test ; \
 done < <(git status --porcelain | cut -c 3- | cut -d/ -f1