【发布时间】:2017-09-29 08:44:28
【问题描述】:
使用 Spring Cloud Dalston,我们构建了一个代理服务,当然也使用了 Zuul。我现在正在尝试添加 Spring Cloud Contract 测试,以从合同遵守的角度验证我们的代理服务是否按预期工作。奇怪的是,我可以发送请求并收到 200 状态码,但预期的响应正文、内容类型标头等为空,结果我的测试失败。
是否存在 Spring Cloud Contract 文档中未指定的额外配置,用于测试使用 Zuul 功能的服务?
【问题讨论】:
-
在 Zuul 的情况下,您很可能需要完整的 Spring 上下文,而不仅仅是使用某些控制器模拟 mvc。你是这样设置测试的吗?
-
我正在使用 DefaultMockMvcBuilder 设置测试。 @Before public void setUp() 抛出异常 { DefaultMockMvcBuilder webAppContextSetup = MockMvcBuilders.webAppContextSetup(context); MockMvc build = webAppContextSetup.build(); RestAssuredMockMvc.mockMvc(build); } }
-
您应该使用显式模式而不是模拟 mvc。这样所有过滤器都将被注册
-
是否有在 GitHub 中进行设置的示例?
标签: spring-cloud spring-cloud-netflix spring-cloud-contract