Java Spring云契约:多个控制器

Java Spring云契约:多个控制器,java,spring-boot,spring-cloud-contract,Java,Spring Boot,Spring Cloud Contract,我有一个spring云契约基础测试类: public abstract class TestsBase { @Autowired protected MyFirstController myFirstController; ... RestAssuredMockMvc.standaloneSetup(myFirstController); } 该类在我的maven插件配置中引用如下: <plugin> <groupId>org

我有一个spring云契约基础测试类:

public abstract class TestsBase {

    @Autowired
    protected MyFirstController myFirstController;
    ...

    RestAssuredMockMvc.standaloneSetup(myFirstController);
}
该类在我的maven插件配置中引用如下:

<plugin>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-contract-maven-plugin</artifactId>
    <version>${spring-cloud-contract.version}</version>
    <extensions>true</extensions>
    <configuration>
      <basePackageForTests>com.contracts.basepackage</basePackageForTests>
      <baseClassForTests>com.contracts.basepackage.TestsBase</baseClassForTests>
    </configuration>
  </plugin>

不起作用。你知道我怎样才能做到这一点吗?我还没有在任何地方找到解决方案。

standaloneSetup
使用varargs。只需传递第一个控制器旁边的第二个控制器:
restassuredmocmvc.standaloneSetup(myFirstController、mySecondController)

standaloneSetup
接受变量。只需传递第一个控制器旁边的第二个控制器:
restassuredmocmvc.standaloneSetup(myFirstController、mySecondController)

非常感谢,@Marcin。我觉得没有先看Javadoc很愚蠢:(如果我的控制器有包私有可见性怎么办?然后你要么做1)基类映射,每个控制器有一个基类2)你只需要使用rest assured的MockMvc的web应用上下文版本3)执行一个hack:你需要在包中有一个访问器(例如,
a.b.c
)在将是公共的测试中(
public类MyPackageScopeControllerAccessor{}
),它将有一个公共方法来访问包作用域
public MyPackageScopeController(){返回新的MyPackageScopeController();}
非常感谢,@Marcin。我觉得没有先看Javadoc很愚蠢:(如果我的控制器有包私有可见性怎么办?然后你要么做1)基类映射,每个控制器有一个基类2)您只需要使用rest assured的MockMvc 3的web应用上下文版本)执行一个hack:在将是公共的测试(
公共类MyPackageScopeControllerAccessor{}
)中,您需要在包(例如
a.b.c
)中有一个访问器这将有一个公共方法来访问包作用域
公共MyPackageScopeController(){返回新的MyPackageScopeController();}
RestAssuredMockMvc.standaloneSetup(mySecondController);