升级到 Spring Cloud Contract 1.2.0 后基础 class 不再工作

Base class no longer working after upgrading to Spring Cloud Contract 1.2.0

我正在升级到 Spring Cloud Edgware.RELEASE,我有一个关于如何为 [=36= 正确设置基础 class 的问题] 云契约测试。以下是我目前作为基础 class 通过 Dalston.SR5 工作的内容:

import javax.servlet.Filter;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc;

@RunWith(SpringRunner.class)
@ActiveProfiles("local")
@SpringBootTest(classes = {Bootstrap.class})
@DirtiesContext
public class ConsumerDrivenContractTests {

  @Autowired
  private WebApplicationContext applicationContext;

  @Autowired
  private Filter springSecurityFilterChain;

  @Test
  public void generateTestsFromGroovyFiles() {

  }

  @Before
  public void setup() {
    DefaultMockMvcBuilder defaultMockMvcBuilder =
        MockMvcBuilders.webAppContextSetup(applicationContext).addFilter(springSecurityFilterChain);
    MockMvc mockMvc = defaultMockMvcBuilder.build();
    RestAssuredMockMvc.mockMvc(mockMvc);
  }

}

升级到 Edgware.RELEASE 后,我的 import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc; 不再解析,这令人困惑。 Spring Cloud Contract 文档说明 "by default, Rest Assured 3.x is added to the classpath"(参见 http://cloud.spring.io/spring-cloud-static/spring-cloud-contract/1.2.0.RELEASE/single/spring-cloud-contract.html#maven-rest-assured),给出的示例显示了如何使用具有 <groupId>com.jayway.restassured</groupId> 依赖项的 Rest Assured 2.x。但是,1.2.0.RELEASE 的 <artifactId>spring-cloud-starter-contract-verifier</artifactId> 引入了 <groupId>io.rest-assured</groupId> 依赖项。鉴于文档,我期待 com.jayway... 罐子得到解决。

升级到 1.2 后,我的基础 class 方法是否仍然有效?0.RELEASE,如果是,我是否需要明确地将 com.jayway... 依赖项添加到我的 pom.xml 文件?如果是这样,如果文档说明了这一点,那将会很有帮助。

默认情况下,Rest Assured 3.x 添加到 class 路径。放心 3.x。有导入 io.restassured 并且它们出现在您生成的测试中。你,在你的基地 class 有 com.jayway 这是 RestAssured 2.x。因此,您生成的测试要求您在基础 class 中使用 io.restassured 导入。因此,要么修复基础 class 以使用 Rest Assured 3.x,要么必须提供对 Rest Assured 2.x 的显式依赖。在您的插件中修复生成的测试中的导入。