Der Stub-Server von WireMock ist eine API, die bewirkt, dass die HTTP-Kommunikation den Zielport verspottet und den erwarteten Rückgabewert zurückgibt.
--Umgebung - Java1.8 --Spring Boot 2 Serie --WireMock 2 Serie
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class FunctionalTest {
@ClassRule
public static WireMockRule wireMockRule =
new WireMockRule(wireMockConfig().port(8081)
.usingFilesUnderDirectory("src/functionalTest/resources/"));
@Test
öffentliches nichtiges normales System() {
stubFor(get(urlEqualTo("/hoge"))
.willReturn(aResponse()
.withStatus(200)
.withBodyFile("hoge.json")))
//Inhalt testen...
}
}
hoge.json
{
"text": "hogehoge"
}
Kurz gesagt, ein Stub-Server, der beim Zugriff auf / hoge den Status 200 und hogehoge zurückgibt, wird an Port 8081 gestartet.
Notieren Sie den Speicherort von hoge.json.
src/functionalTest/resources/__files/hoge.json
ist. Ich habe diese __files vergessen und war eine Stunde lang süchtig.
Ich werde den Code zuerst setzen.
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class FunctionalTest {
@Rule
public WireMockRule wireMockRuleHoge =
new WireMockRule(wireMockConfig().port(8081)
.usingFilesUnderDirectory("src/functionalTest/resources/"));
@Rule
public WireMockRule wireMockRuleFuga =
new WireMockRule(wireMockConfig().port(8082)
.usingFilesUnderDirectory("src/functionalTest/resources/"));
@Test
öffentliches nichtiges normales System() {
wireMockRuleHoge.stubFor(get(urlEqualTo("/hoge"))
.willReturn(aResponse()
.withStatus(200)
.withBodyFile("hoge.json")
)
);
Resource requestResource = resourceLoader.getResource(ResourceLoader.CLASSPATH_URL_PREFIX + "/fuga.json");
String request = FileUtils.readFileToString(requestResourcePerformance.getFile(), UTF_8);
wireMockRuleFuga.stubFor(post(urlEqualTo("/fuga"))
.withRequestBody(equalToJson())
.willReturn(ok())
);
//Inhalt testen...
}
}
Wie Sie sehen können, können Sie, wenn Sie Fugafuga per Post an / fuga senden, einen Stub hinzufügen, der nur den 200. Status zurückgibt. Als Vorteil werden für jede Regel Überprüfungen usw. vorbereitet, sodass Sie testen können, welche POST-Anforderung von welchem Stub wie oft aufgerufen wurde.
Recommended Posts