问题描述
我正在使用并行计算机并行运行一组测试。 问题是当我在 jenkins 中运行我的构建时,我所有的测试类也在运行。
意思是 - 如果我有 2 个类 - X.class、Y.class 并且我在类 Z.class 中并行运行它们,当我在 Jenkins 上运行我的构建时,他运行所有类(X.class,Y .Class,Z.class)...这并不是我的真正目的。
为了避免这种情况,我使用了“-Dtest=Z.class”,现在我只运行我的多线程类。一切都很好,除了一件事-
surefire 仅为我的 Z.class 创建我的报告。所以如果 Z.class 触发了 2 个类,每个类有 5 个测试,而不是报告 10 个测试,他只报告 1 个测试 - 我的 Z.class
这是我的代码-
@Test
public void runAlltest() throws ClassNotFoundException {
List<Class<?>> classesList = new ArrayList<Class<?>>();
final ClasspathScanningCandidateComponentProvider provider = new ClasspathScanningCandidateComponentProvider(false);
provider.addIncludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*")));
final Set<BeanDeFinition> classes = provider.findCandidateComponents("xxx.Mypackage.tests");
for (BeanDeFinition bean: classes) {
classesList.add(Class.forName(bean.getBeanClassName()));
}
Class<?>[] itemsArray = new Class<?>[classesList.size()];
itemsArray = classesList.toArray(itemsArray);
Result result = JUnitCore.runclasses(new ParallelComputer(true,true),itemsArray);
我的报告-
[main] INFO org.apache.maven.plugin.surefire.SurefirePlugin - 测试运行:1,失败:0,错误:0,跳过:0
我怎样才能只运行一个触发多个类的测试,并且仍然有一个有效的报告?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)