Connection refused when using wiremock
15,480
For Java users
Based on the WireMock
docs.
There are 3 possibilities to use WireMock in your tests :
- If you are using Wiremock as JUnit 4 rule to configure the port use :
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
...
@Rule
public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8888));
- If you are using new instance and start it from your Test class (for example
@Before
) :
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
...
public class Test {
WireMockServer wm;
@BeforeEach
void setUp() {
wm = new WireMockServer(options().port(8888));
wm.start();
}
@Test
void test() {
wm.stubFor(...);
}
}
- With static configuration of default instance (not using new instance in your test) :
WireMock.configureFor(8888);
For Kotlin users
If you are using kotlin you can add actual wiremock instance to stubFor
and verify
calls like wm.stubFor()
and configure the port like in option 3 of this answer.
Related videos on Youtube
Author by
Sandro Rey
Bendiciones y unos Nullpointers. y si no sabes la respuesta a mis preguntas que te den por el xxxx dos veces.
Updated on June 04, 2022Comments
-
Sandro Rey almost 2 years
I have this piece of code in a Junit, where I clearly set the port to 8888
when(clientUtils.getLinkUrl(eq(HOSTELS_MICROSERVICE.name()), eq(HOSTELS_MICROSERVICE.name()), anyMap())) .thenReturn("http://localhost:8888/HOSTELS/HOSTELSMethods"); stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn( aResponse().withStatus(200) .withHeader("Content-Type", APPLICATION_JSON_VALUE) .withBody(ResourceUtils.getResourceFileAsString ("__files/HOSTELS.json"))));
but when I run the test I got this error on this line:
stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn(..
and the error:
wiremock.org.apache.http.conn.HttpHostConnectException: Connect to localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
-
ses over 4 yearshmm still: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8080 [localhost/127.0.0.1] failed: Connection refused (Connection refused). unit 5
-
billydh about 4 yearshi @ses i recently just figured this out. i am using Kotlin and JUnit 5, but had that
HttpHostConnectException
issue. I resolved it by adding the actualWireMockServer
instance to mystubFor
orverify
methods, i.e.wireMockServer.stubFor()
orwireMockServer.verify()
. After doing this, the tests work. Hope it helps. -
Anly almost 3 yearsFor completeness, it's worth mentioning that you might have to also start the server. I went with option 2. with
new WireMockServer()
but forgot to callwm.start()
and was gettingConnection refused
-
jmrah almost 2 years@billydh, you should add your comment as an answer. It worked for me, and I'm sure a lot of other people too. Thanks!