繁体   English   中英

为 IntelliJ 中的测试设置 Java 系统属性

[英]Set java system properties for tests in IntelliJ

在我的基于 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

我见过这个线程: 在 IntelliJ 或 Eclipse 中设置 java 系统属性,并且了解如何为(测试)任务设置系统属性甚至默认属性。

但是有没有办法让 IJ“理解”gradle 配置或者以其他方式让它使用systemProperty

这是一个老问题,我知道从那以后我已经解决了很多次这个问题。

因此,人们需要做两件事情:1.添加-Dapplication.name=appName在IJ的测试VM选项2.找到gradle这个任务(或创建一个新的)在你build.gradle ,并添加特定映射的application.name系统属性,如:

bootRun {
    systemProperties['application.name'] = System.getProperty("applicagtion.name")
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM