【发布时间】:2018-04-05 11:12:45
【问题描述】:
在我基于 gradle 的项目中,我有以下集成测试目标:
task integrationTests(type: Test, group: "Test") {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
mustRunAfter test
useJUnit {
maxParallelForks 2
}
systemProperty 'application.name', 'applicationName'
}
它从命令行运行得很好,但是在 IntelliJ 中它会出现错误:Application startup failed MDC:[requestId=, userGuid=] java.lang.IllegalStateException: required key [application.name] not found
我看过这个帖子:Set java system properties in IntelliJ or Eclipse 并且了解如何为(测试)任务设置系统属性甚至默认属性。
但是有没有办法让 IJ “理解” gradle 配置或以其他方式使其使用systemProperty?
【问题讨论】:
-
那么...在 Gradle 下,您是在谈论 JUnit 测试配置吗?由于 JUnit 运行/调试配置中可能存在环境变量
-
感谢 vikingsteve - 是的,我知道可以在运行/调试配置中设置环境变量,甚至可以使用默认配置。我在说,IJ 能以某种方式从 gradle config 导入这些吗?
-
是否有 Gradle 运行/调试配置?可以右键任务名称创建一个吗?
-
我可以创建一个,但运行它有问题。我认为我的 gradle 配置有点狡猾。不错的提示!
-
您是否考虑过在测试本身中添加环境变量? (换句话说,是否有充分的理由通过 gradle 传递它?)
标签: java gradle intellij-idea