我正在尝试测试对HTTP服务器具有基础GET调用的代码。
我正在尝试使用WireMock,并基于“入门”,我有以下代码:
@Rule public WireMockRule wireMockRule = new WireMockRule(WireMockConfiguration.wireMockConfig().port(8888)); // No-args constructor defaults to port 8080 @BeforeClass public static void beforeClass(){ stubFor(get(urlEqualTo("/Path/Get")) .willReturn(aResponse() .withStatus(200) .withBody("[1]"))); } @Test public void testGetRanking() throws Exception { Fetcher fetcher = new Fetcher("http://localhost:8888",null); int rankinganking = fetcher.getRanking("Max"); Assert.assertEquals(1, ranking); }
运行测试时,我得到以下堆栈跟踪:
wiremock.org.apache.http.conn.HttpHostConnectException: Connect to localhost:8080 [localhost/127.0.0.1] failed: Connection refused at wiremock.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151) at wiremock.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at wiremock.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at wiremock.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ...
该错误涉及端口8080,但我将端口配置为8888。我知道默认情况下WireMock以端口8080开头,因此这可能是其内部配置存在问题。
这是什么问题?