以自定义顺序运行类 java maven 项目,使用 juint5 测试

问题描述

对于以自定义顺序运行类的 Maven 项目,我编写了一个自定义类排序,但是 findAnnotation 方法出现错误。有人可以帮我解决这个例外吗?提前致谢

image

import org.junit.jupiter.api.ClassDescriptor;
import org.junit.jupiter.api.ClassOrderer;
import org.junit.jupiter.api.ClassOrdererContext;
import com.microfocus.test.install.TestA;
import com.microfocus.test.install.TestB;
import java.util.Comparator;

public class TestClassOrder implements ClassOrderer 
    {
    @Override
    public void orderClasses(ClassOrdererContext classOrdererContext)
    {
        classOrdererContext.getClassDescriptors().sort(Comparator.comparingInt(TestClassOrder::getorder));
    }
private static int getorder(ClassDescriptor classDescriptor) 
    {
        if (classDescriptor.findAnnotation(TestB.class).isPresent())
        {
            return 1;
        } 
        else if (classDescriptor.findAnnotation(TestA.class).isPresent()) 
        {
            return 2;
        } 
        else
{
            return 3
}    }
}

junit-platform.properties 输入

junit.jupiter.testclass.order.default=com.Test.TestClassOrder

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)