Java 从1.3.2升级到1.5.3后,SpringBootTest集成测试失败(403禁止)

Java 从1.3.2升级到1.5.3后,SpringBootTest集成测试失败(403禁止),java,spring-boot,groovy,integration-testing,spring-cloud,Java,Spring Boot,Groovy,Integration Testing,Spring Cloud,我正在使用springCloudVersion='Dalston.RELEASE'将几个应用程序从SpringBoot 1.3.2.RELEASE升级到1.5.3 作为此升级过程的一部分,现有集成测试中的注释发生了更改: 老办法: 新的升级方式: @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TokenServer

我正在使用springCloudVersion='Dalston.RELEASE'将几个应用程序从SpringBoot 1.3.2.RELEASE升级到1.5.3

作为此升级过程的一部分,现有集成测试中的注释发生了更改:

老办法:

新的升级方式:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TokenServerApplication)
@EnableWebSecurity
@Unroll
这看起来很好,但我注意到我的各种测试开始中断,给出了403禁止响应

这些失败的测试应要求发送带有有效“x-auth-token”头的请求。来自我的服务的响应应该给出一个403“Not authenticated”,但是我得到的消息不包含“Not authenticated”消息(它更通用),而且,应该通过有效令牌的测试也得到403'd

我使用以下内容来构造我的请求:

@Autowired TestRestTemplate restTemplate
所有测试的设置大致相同:

  @Test
  void "test valid token"() {
    HttpHeaders headers = new HttpHeaders()
    headers.set("x-auth-token", tokenIngestExternal)
    HttpEntity<String> entity = new HttpEntity<String>(headers)
    ResponseEntity<Map> result = restTemplate.exchange("/authenticate", HttpMethod.GET, entity, Map.class)
    assertTrue(result.getStatusCode() == HttpStatus.OK)
    Map map = result.getBody()
    assertTrue map.get('iss').equals("A")
    assertTrue map.get('sub').equals("B")
    assertTrue map.get('aud').equals("C")
    assertTrue map.get('roles').equals("D")
  }
@测试
无效“测试有效令牌”(){
HttpHeaders=新的HttpHeaders()
headers.set(“x-auth-token”,外部标记)
HttpEntity=新的HttpEntity(标题)
ResponseEntity result=restemplate.exchange(“/authenticate”,HttpMethod.GET,entity,Map.class)
assertTrue(result.getStatusCode()==HttpStatus.OK)
Map=result.getBody()
assertTrue map.get('iss').equals('A”)
assertTrue map.get('sub').equals('B”)
assertTrue map.get('aud').equals('C”)
assertTrue map.get('roles').equals('D”)
}
在升级到1.5.3并使用最新的集成测试注释之前,同样的基本方法工作得很好

我是否缺少注释、参数或其他内容?怎么回事

  @Test
  void "test valid token"() {
    HttpHeaders headers = new HttpHeaders()
    headers.set("x-auth-token", tokenIngestExternal)
    HttpEntity<String> entity = new HttpEntity<String>(headers)
    ResponseEntity<Map> result = restTemplate.exchange("/authenticate", HttpMethod.GET, entity, Map.class)
    assertTrue(result.getStatusCode() == HttpStatus.OK)
    Map map = result.getBody()
    assertTrue map.get('iss').equals("A")
    assertTrue map.get('sub').equals("B")
    assertTrue map.get('aud').equals("C")
    assertTrue map.get('roles').equals("D")
  }