首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数传递给分叉测试过程?

如何将参数传递给分叉测试过程?
EN

Stack Overflow用户
提问于 2015-02-12 21:43:21
回答 1查看 850关注 0票数 1

我正在与Gradle并行运行UI测试:

build.gradle:

代码语言:javascript
复制
test {
  maxParallelForks = 4
}

我想把一些过程(1,2,3,4)传递给每一个分叉的过程?

目的是使这些测试使用不同的虚拟显示。这样,这些UI测试就不会彼此冲突。理想情况下,我希望将系统属性DISPLAY=:15:1DISPLAY=:15:2DISPLAY=:15:3DISPLAY=:15:4传递给分叉进程。

EN

回答 1

Stack Overflow用户

发布于 2018-10-19 15:28:58

我不想成为一个死海报,但我也有同样的问题(如何利用分叉过程作为索引)并设法解决它,所以下面的解决方案可能会对某人有所帮助。

从类似问题的mrhaki's answer中,Gradle将向每个分叉JVM传播唯一的org.gradle.test.worker属性。不幸的是,这些工作属性不是从1开始的(因此不能直接用作索引值),但我发现它们是按顺序排列的。例如,对于maxParallelForks = 3,每个分叉过程可以有org.gradle.test.worker = 33org.gradle.test.worker = 34org.gradle.test.worker = 35。感谢这一点,我们可以从工人身上建立指数。

build.gradle:

代码语言:javascript
复制
test {
    maxParallelForks = 4
    systemProperty 'forks', maxParallelForks
}

在Java的某个地方:

代码语言:javascript
复制
Integer maxForks = Integer.valueOf(System.getProperty("forks", "1"));
Integer worker = Integer.valueOf(System.getProperty("org.gradle.test.worker", "1"));
int index = (worker % maxForks) + 1; // index will be 1, or 2, or 3 or 4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28488365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档