首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取Gradle TestKit测试项目的`sourceSets`?

如何获取Gradle TestKit测试项目的`sourceSets`?
EN

Stack Overflow用户
提问于 2020-08-04 02:57:29
回答 1查看 30关注 0票数 0

我正在使用Gradle的TestKit,并希望确保有一个插件向sourceSets.main.proto添加了正确的路径。

我如何访问这些信息?

EN

回答 1

Stack Overflow用户

发布于 2020-08-05 02:00:44

我还没有找到从TestKit访问Project对象的方法(我怀疑这样做是不可能的)。

获取sourceSets.main.proto的一种方法是在测试数据build.gradle文件中创建一个任务。例如:

代码语言:javascript
复制
        tasks.register('assertMainProtoSrcDirsIncludesProtopPath') {
          doLast {
            assert sourceSets.main.proto.srcDirs.contains(file("${rootDir}/${protop.path}"))
          }
        }

然后,可以使用TestKit来调用该任务:

代码语言:javascript
复制
  @Test
  @DisplayName("`sourceSets.main.proto.srcDirs` should include `protop.path`.")
  public void sourceSetsMainProtoSrcDirsShouldIncludeProtopPath(final SoftAssertions softly) {
    final BuildResult buildResult = gradleRunner
        .withPluginClasspath()
        .withProjectDir(rootDir.toFile())
        .withArguments("--info", "--stacktrace", ":assertMainProtoSrcDirsIncludesProtopPath")
        .build();

    softly.assertThat(Objects.requireNonNull(buildResult.task(":assertMainProtoSrcDirsIncludesProtopPath")).getOutcome())
        .isEqualByComparingTo(SUCCESS);
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63235374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档