java运行的触发多个surefire报告的单类测试

mo49yndu  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(204)

我正在用并行计算机并行运行一组测试。问题是,当我在jenkins中运行我的构建时,所有的测试类也在运行。
意思是-如果我有两个类-x.class,y.class,我在z.class中并行运行它们,当我在jenkins上运行我的构建时,他运行所有类(x.class,y.class,z.class)。。。那不是我真正的目的。
为了避免这种情况,我使用了-“-dtest=z.class”,现在我只运行我的多线程类。一切都很好,除了一件事-
surefire只为我的z类创建报告。因此,如果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
我怎样才能只运行一个类测试来触发多个类测试,并且仍然有一个有效的报告?
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题