运行单类测试触发许多 - 万无一失的报告

问题描述

我正在使用并行计算机并行运行一组测试。 问题是当我在 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 (将#修改为@)