需要在Java Pact契约测试中将动态字符串值分配给@PactFolder注释

需要在Java Pact契约测试中将动态字符串值分配给@PactFolder注释,java,junit4,junit5,pact,Java,Junit4,Junit5,Pact,我需要在JUnit测试中向类级注释“@PactFolder”添加一个变量值。我已经能够使用@BeforeClass方法中的简单反射来实现此注释的动态赋值 但是,此JUnit契约测试使用另一个注释(@RunWith(PactRunner.class))运行。现在,由于@PactFolder注释的目的是向PactRunner类传递绝对路径,并且PactRunner在调用时读取@PactFolder的值,因此反射的变量值没有任何用处 import org.junit.BeforeClass; impo

我需要在JUnit测试中向类级注释“@PactFolder”添加一个变量值。我已经能够使用@BeforeClass方法中的简单反射来实现此注释的动态赋值

但是,此JUnit契约测试使用另一个注释(@RunWith(PactRunner.class))运行。现在,由于@PactFolder注释的目的是向PactRunner类传递绝对路径,并且PactRunner在调用时读取@PactFolder的值,因此反射的变量值没有任何用处

import org.junit.BeforeClass;
import org.junit.runner.RunWith;

import au.com.dius.pact.provider.junit.PactRunner;
import au.com.dius.pact.provider.junit.Provider;
import au.com.dius.pact.provider.junit.loader.PactFolder;
import au.com.dius.pact.provider.junit.loader.PactSource;
import au.com.dius.pact.provider.junit.target.HttpTarget;
import au.com.dius.pact.provider.junit.target.TestTarget;

@PactFolder("<Dynamic value>")
@RunWith(PactRunner.class)
@Provider("CvSaveDataServiceProvider")
public class ContractTest {

    @BeforeClass
    public static void setConditions() {
    PactFolder pactFolder = ContractTest.class.getAnnotation(PactFolder.class);
    AlterPactFolderAnnotation.setAbsolutePactDirectory(ContractTest.class, PactFolder.class, ContractDirectoryRelativeModulePath.HRIS.getRelativeModulePath(), pactFolder);

     System.out.println(ContractTest.class.getAnnotation(PactFolder.class).value()); 
    }

    @TestTarget 
    public HttpTarget target = new HttpTarget(8080);
}
import org.junit.BeforeClass;
导入org.junit.runner.RunWith;
导入au.com.dius.pact.provider.junit.PactRunner;
导入au.com.dius.pact.provider.junit.provider;
导入au.com.dius.pact.provider.junit.loader.PactFolder;
导入au.com.dius.pact.provider.junit.loader.PactSource;
导入au.com.dius.pact.provider.junit.target.HttpTarget;
导入au.com.dius.pact.provider.junit.target.TestTarget;
@打包机(“”)
@RunWith(PactRunner.class)
@提供程序(“CvSaveDataServiceProvider”)
公共类契约测试{
@课前
公共静态无效设置条件(){
PactFolder PactFolder=ContractTest.class.getAnnotation(PactFolder.class);
AlterPactFolderNotation.setAbsolutePactDirectory(ContractTest.class,PactFolder.class,ContractDirectoryRelativeMemodulePath.HRIS.GetRelativeMemodulePath(),PactFolder);
System.out.println(ContractTest.class.getAnnotation(PactFolder.class.value());
}
@测试目标
公共HttpTarget=新的HttpTarget(8080);
}
我需要从本地克隆的存储库(保存在多个目录中)访问合同,最终目标是在单个配置文件中添加所有目录的路径,并使用“mvn test”命令(一个简单的批处理文件)从单个点初始化不同目录中的所有测试

是否有可能的解决方案或解决方法