gpt4 book ai didi

java - Gradle 和 Java : what is the correct way of calling the system properties in test task

转载 作者:行者123 更新时间:2023-12-02 12:51:48 25 4
gpt4 key购买 nike

在我的 gradle 项目中,我有一个测试任务并设置一些从 gradle.property 文件读取的系统属性,如下所示:

systemProperties["property1.username"] = property1_username

还有一些属性是这样的:

systemProperty "property2.id",project.getProperty("property2.id")

两者有什么区别?我看到的区别是 property2 无法与 systemProperties 一起使用,因此我采用了不同的路线。

最佳答案

这两个示例基本上都是为 Gradle 注册系统属性的有效方法 Test 任务。

在第一个示例中,您访问 systemProperties 直接通过隐藏的 getter 属性(即 Groovy feature )。此属性是 Map 而在 Groovy 中,您可以直接使用下标运算符 [] 添加条目。您使用您的字符串 "property1.username"作为输入键和表达式 property1_username 的值作为入口值。该表达式必须在 Gradle 中可解析 Project 范围,但是 Gradle properties ,例如来自gradle.properties文件,会自动添加到此范围。

在第二个示例中,您使用的是 systemProperty Test的方法类(class)。它需要两个参数(名称和值),并向 Map 添加一个新条目。上文提到的。 Groovy 允许在方法调用时省略不必要的括号。要获取系统属性值(第二个方法参数),您可以调用 getProperty你的方法Project对象,它还解析 Gradle Project 中的属性范围。

我不知道为什么你的 property2 不能与 systemProperties 一起使用方法,也许这只是一个拼写错误,因为这两种方法都应该像魅力一样工作。请随意使用链接的文档来了解 Gradle 生态系统中不同方法的工作原理。

关于java - Gradle 和 Java : what is the correct way of calling the system properties in test task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44573816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com