是否可以使用Gradle生成测试类?

时间:2017-02-02 10:57:15

标签: java testing gradle

Gradle在创建项目时提供默认的App.java java源文件及其测试类。

我在main下创建了java类:

/src/main/java/some/package/algo/Sort.java

我想创建一个与之对应的测试类。

/test/main/java/some/package/algo/SortTest.java

我可以手动执行此操作,但每当我创建新的常规Java源文件时,Gradle或任何gradle命令都可能为我执行此操作。

我没有使用IDE和IDE提供这样的选项。

同样任何gradle命令,如果我有一个测试文件而不是Gradle在主源下创建java源文件。

1 个答案:

答案 0 :(得分:0)

task createTestForSource {
    inputs.dir 'src/main/java'
    outputs.dir 'src/test/java'

    doLast {
        fileTree('src/main/java').visit { FileVisitDetails fvd ->
            if (!fvd.directory) {
                String sourcePath = fvd.relativePath.asPath
                String testPath = sourcePath.replace('.java', 'Test.java')
                File testFile = file("src/test/java/$testPath")
                if (!testFile.exists()) {
                    testFile.parentFile.mkdirs()
                    testFile.text = // do your magic here
                }
            }
        }
    }
}