【发布时间】:2016-09-07 00:24:06
【问题描述】:
我正在编写 Web 服务以使用 Web 端点在 junit 上运行测试,因此我必须将所有测试保存在源代码中。 问题是我想直接从 IDEA 和命令行运行测试,最后我卡住了。
如何通过“gradle test”在源文件夹 (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 测试任务并自定义它?
【问题讨论】:
-
你能再解释一下,为什么你需要在主源集
src/main/java而不是在测试源集src/test/java中有测试源? -
@Nikem 所有这些测试都用于集成测试,应该能够由自托管服务运行。所有测试都是使用带有自定义扩展的 JUnit 编写的。例如
testservice.application.com/run/class/NewFeatureTest将运行NewFeatureTest.class,它会向production.application.com/api/等开发/生产环境发出一些请求,并对检索到的数据进行断言。而且我必须将NewFeatureTest.java存储在主要来源中,以便从服务此测试服务中可见。
标签: java gradle junit spring-boot