是否可以创建gradle任务来将项目中的测试子集化?

时间:2019-11-12 22:48:11

标签: testing gradle

我正在使用gradle工具api基于接收到Webhook来启动测试。

我看不到将参数传递到工具API的方法。我可以使用以下内容进行测试:

        String workingDir = System.getProperty("user.dir");

        ProjectConnection connection = GradleConnector.newConnector()
                .forProjectDirectory(new File(workingDir))
                .connect();
        try {
            connection.newBuild().forTasks("test").run();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            connection.close();
        }

但是我看不到运行诸如“ gradle test --tests = xxx”之类的方法的方法,所以我希望我可以执行gradle任务,这些任务是诸如“ gradle dev_tests”,“ gradle int_tests”之类的测试子集。 / p>

有人知道这是否可行吗?

1 个答案:

答案 0 :(得分:1)

按照gradle文档,newBuild()可以方便地用作构建器模式。 您可以在调用run()之前设置几个参数。

//select tasks to run:
    build.forTasks( "test");

    //include some build arguments:
    build.withArguments("--tests=xxx");
    ...
    build.run();

来源: https://docs.gradle.org/current/javadoc/org/gradle/tooling/BuildLauncher.html