我在Sping Boot 的JUnit测试中遇到了一个关于通过wiremock从请求返回响应的问题,因为我使用了微服务,所以我必须使用wiremock来调用另一个微服务的任何方法。
我想写一个wirerock来从这个进程中获取令牌值。
我尝试编写流程,但无法完成。我该如何完成?
@RegisterExtension
static WireMockExtension wireMockserver
= WireMockExtension.newInstance()
.options(WireMockConfiguration
.wireMockConfig()
.port(8080))
.build();
wireMockserver.stubFor(get("/authenticate/login")
.willReturn(aResponse()
.withStatus(HttpStatus.OK.value())
.withHeader("Content-Type", MediaType.APPLICATION_JSON_VALUE)
));
我怎样才能得到回应?
以下是响应。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JWTResponse {
private String token;
private String type = "Bearer";
private String refreshToken;
private int id;
private String username;
private String email;
private List<String> roles;
}
1条答案
按热度按时间mzsu5hc01#
您可以指示wire mock在响应中返回一个body。
例如:
其中,mapper是
ObjectMapper mapper;
的示例我们在这里做的是当post ist在特定的testUrl上执行时返回预期的对象。由于对象是作为json传输的,我们需要使用Map器将对象传输到相应的字符串表示。