@Override
public JsonNode getCities() throws Exception {
    String cityListUrl; // get from properties file
    List<Integer> cityIds = dao.getCities();
    StringBuilder cityIds = new StringBuilder();
    for (Integer cityId : cityIds) {
        cityIds.append(cityId).append(",");
    }
    // gets city names.returns cityId,cityName.
    // How to mock this?
    Promise<JsonNode> jsonPromise = WS
            .url(cityListUrl+ cityIds.toString()).get()
            .map(wsresponse -> {
                return wsresponse.asJson();
            });
    JsonNode node = jsonPromise.get(100000);
    return node;
}

@Test
public void testGetCities() {
    JsonNode cities = Ws.url() call to the API /cities/.
    Assert statement.
}


作为应用程序运行时,它应该调用另一个服务。作为JUnit运行时,应该模拟对另一个服务的REST调用。

我只能想象嘲笑一个类的依赖关系,如何实现呢?

最佳答案

您可以在测试中启动MockServer并调用它。

09-26 17:09