有谁知道如何将gradle属性传递给单元测试并在命令行上覆盖它们?

时间:2015-05-29 16:34:11

标签: java jenkins junit4 build.gradle

例如,我想在Jenkins中运行冒烟测试,测试将使用不同的端口/地址,具体取决于环境。所以我想在某处设置一个默认值(gradle.build?)然后能够在gradle命令行上覆盖它。但是我需要在junit测试中使用默认值或覆盖值。现在我只是在我的junit测试中读取一个属性文件来获取url但是我想以某种方式从gradle.build值中使用它。

现在我只使用属性文件。

@Before
public void setup() throws FileNotFoundException, IOException{
    try {
        props.load(new FileInputStream("gradle.properties"));

    } catch (IOException e) {
        logger.error(e.getMessage());
        logger.debug("Error loading gradle.properties",e);
    }
}

@Test 
public void testResponseCode () {   
    get(props.getProperty("url") + HISTORIC).then().assertThat().statusCode(equalTo(200));
}

1 个答案:

答案 0 :(得分:0)

您可能需要将通过 Gradle作为系统属性传递给它,即-Dkey=value。或者,您的Gradle脚本可以设置系统属性,例如System.properties.'my.property' = ?。 JUnit测试将无法访问Gradle属性。