首页 文章

IntelliJ从根项目执行gradle测试

提问于
浏览
1

我在IntelliJ中有一个gradle multiproject importend,我想要执行一些测试类 .

结构如下:

root
|-module-a
|-module-b

module-a 取决于 module-b ,所以在build.gradle中

dependencies {
    compile project('module-b');
}

当我从shell中使用gradle时,一切都没问题,我必须进入 root 项目目录并写道:

./gradlew :module-a:test

以及它经过测试的一切 .

当我从IntelliJ单击“运行'Tests' in 'module-a'”时出现此错误:

A problem occurred evaluating root project 'module-a'.
> Project with path ':module-b' could not be found in root project ':module-a'.

所以看来,IntelliJ正在从 module-a 执行gradle命令,而不是从 root 执行(这应该是gradle想要的正确行为) .

如何在IntelliJ中执行此测试?我需要配置什么?

1 回答

  • 2

    对于看起来像这样的多项目结构

    root
    |-module-a
    |-module-b
    

    根文件夹中只有一个 settings.gradle ,其内容为:

    include 'module-a', 'module-b'
    

    子项目文件夹不包含settings.gradle文件 . 然后你将兄弟项目称为:

    project(':module-b')
    

    所以你的依赖将被声明为:

    dependencies {
      compile project(':module-b');
    }
    

    有关多项目结构的更多信息,请see here .

相关问题