seaswalker / posts

0 stars 0 forks source link

Mock server用法 #16

Open seaswalker opened 3 years ago

seaswalker commented 3 years ago

Mock server使用:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ApiClientTest {

    @Resource
    private ApiClient apiClient;
    @Rule
    public MockServerRule mockServerRule = new MockServerRule(this, 8080);

    @Test
    public void testTooManyRequestResponse() {
        MockServerClient mockServerClient = mockServerRule.getClient();
        mockServerClient.when(
                HttpRequest.request()
                        .withMethod("get")
                        .withPath("/api/v1/weather")
                        .withHeader("Content-Type", "application/json")
        ).respond(
                HttpResponse.response()
                        .withStatusCode(HttpStatus.TOO_MANY_REQUESTS.value())
                        .withHeader("Retry-After", "1")
        );
        apiClient.weather("qingdao");
    }
}

Mock server会监听8080端口,所以api client也需要将server url修改成localhost:8080.