[英]Java - Wiremock - Multiple Components
我一直在嘗試從 Wiremock 的文檔中獲取本指南:
https://wiremock.org/docs/junit-jupiter/ -高級用法 - 編程
因為我希望能夠同時模擬多個主機(同一主機,本地環境的唯一端口)。 但是我不希望這些 @RegisterExtension 位於我的測試類中,而是位於單獨的文件中,但這樣做 JUnit 不會選擇它們,我不知道為什么。 我會以錯誤的方式去做嗎?
測試代碼:
public class MyTest{
@Test
public void testMe(){
MyIntegration.mock();
}
}
public MyIntegration{
@RegisterExtension
static WireMockExtension wiremock = WireMockExtension.newInstance(wireMockConfig().port(9000)).build();
public static void mock(){
var info = wiremock.getRuntimeInfo(); // wireMockServer is null
wiremock.stubFor(...); // NPE
}
}
JUnit Jupiter 掃描測試類以@RegisterExtension
注釋並在注釋對象上運行生命周期方法,但它不會掃描非測試類,這就是您的示例中未啟動服務器的原因。
你有兩個選擇:
WireMockExtension
實例的基礎 class,然后讓每個測試 class 擴展它。WireMockServer
實例,然后確保在測試用例之前/之后調用它的start()
和stop()
方法。我的偏好通常是 1) 在這種情況下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.