【问题标题】:IntelliJ 14 + gradle issue with system properties in test测试中系统属性的 IntelliJ 14 + gradle 问题
【发布时间】:2014-12-10 21:12:39
【问题描述】:

这是我的 build.gradle 文件中的 sn-p:

test{
    systemProperty "test", "test"
}

然后我的测试代码如下所示:

@org.junit.Test
public void test(){
    Assert.assertEquals("test", System.getProperty("test"));
}

当我从命令行运行这个测试时,它通过了。如果我在 gradle 窗口任务测试中选择并单击鼠标右键然后选择运行此测试也通过。但是,当我去测试自己并选择在方法名称上运行时,它没有通过。看起来在第三种情况下 IntelliJ 完全忽略了 gradle 上下文。当直接从 IDE 运行时,是否可以做一些事情来使这个测试工作?提前感谢您的回复。 Gradle 版本 2.3.3 和 IntelliJ 14.0.2

【问题讨论】:

    标签: intellij-idea junit gradle


    【解决方案1】:

    IntelliJ 目前不理解这样的配置。为了完全解决这类问题,IntelliJ 需要使用 Gradle 作为其底层构建/执行引擎,就像今天的 Android Studio 一样。在这种情况发生之前(或对这一特定用例的支持添加到 IntelliJ),您必须在 IntelliJ 运行配置(模板)中定义相同的系统属性。

    如果您使用 IntelliJ 项目生成方法 (gradle idea),您可以(通过一些努力)让 Gradle 生成这样的运行配置(模板)。这是我们为 Gradle 自己的构建所做的事情。

    【讨论】:

    • Peter,您能否提供一个示例链接,该示例使用系统属性生成运行配置?
    【解决方案2】:

    对于 IntelliJ,您需要将系统属性 -Dtest=test 添加到 Settings > Build, Execution, Deployment > Build Tools > Gradle

    中的 Gradle VM options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 2016-11-08
      • 2014-10-08
      相关资源
      最近更新 更多