主要来源内的Gradle测试

时间:2016-05-11 14:16:34

标签: java gradle junit spring-boot

我正在编写Web服务以使用Web端点在junit上运行测试,因此我必须将所有测试保留在源代码中。 问题是我想要从IDEA和命令行直接运行测试,并且最后我被困了。

如何通过" gradle test&#34 ;?在源文件夹(src / main / java)中运行测试? 我不熟悉gradle,但我已尝试使用

sourceSets {
    test {
        java.srcDir file('src/main/java')
        resources.srcDir file('src/main/resources')
    }
}

但它使用IDEA打破了项目导入,我的2016.1.1有时无法创建具有相同内容根的两个模块,或者预期会将源标记为测试。

我可以通过自定义test {}或以某种方式将测试源加载到SpringBoot启动器中来获取Web服务来解决这个问题吗?

也许我可以扩展gradle测试任务并自定义它?

2 个答案:

答案 0 :(得分:0)

尝试删除file()个呼叫

sourceSets {
    test {
        java.srcDir 'src/main/java'
        resources.srcDir 'src/main/resources'
    }
}

在gradle 5.4.1上进行了测试,但也可以在其他版本上使用

答案 1 :(得分:-1)

我想这篇文章可以帮助你更好地学习如何在主要资源中开始测试:

How to run junit tests with gradle?

我会在source中指定一个包含所有测试的子文件。 您可以指定输出目录,该目录应与默认输出目录不同:

sourceSets {
    test {
        java.srcDir file('src/main/java/tests') // tests shall contain your tests
        resources.srcDir file('src/main/resources')
        output.resourcesDir = "build/classes/main"
    }
}