我在集成测试中启动了一个Wiremock服务器。
jenkins服务器中的IT在我的本地BUT中通过失败,错误是
localhost:8089 failed to respond; nested exception is org.apache.http.NoHttpResponseException: localhost:8089 failed to respond
Run Code Online (Sandbox Code Playgroud)
我尝试添加sleep(3000)可以解决问题的测试,但是我不知道问题的根本原因,因此解决此问题不是一个好主意
我也尝试使用@AutoConfigureWireMock(port=8089)替换WireMockServer来启动Wiremock服务器,这可以解决问题,但是我不知道如何使用注释对Wiremock服务器进行一些配置@AutoConfigureWireMock(port=8089)。
在这里,我的代码启动一个Wiremock服务器,对解决“ NoHttpResponseException”有什么建议吗?
@ContextConfiguration(
initializers = ConfigFileApplicationContextInitializer.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
class BaseSpec extends Specification {
@Shared
WireMockServer wireMockServer
def setupSpec() {
wireMockServer = new WireMockServer(options().port(PORT).jettyHeaderBufferSize(12345)
.notifier(new ConsoleNotifier(new Boolean(System.getenv(“IT_WIREMOCK_LOG”) ?: ‘false’)))
.extensions(new ResponseTemplateTransformer(true)))
wireMockServer.start()
}
Run Code Online (Sandbox Code Playgroud)