如何在春天或使用junit获取rest api的执行时间(获得响应的时间)

时间:2017-05-23 07:10:28

标签: spring spring-boot junit mocking easymock

我想保存rest api的执行时间。这与我们在状态旁边的邮递员中可以看到的相同。 在Junit有什么办法吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

手动方式确实非常简单。特别是使用Java 8,你可以做到

private void timed(Runnable r) {
    long time = System.currentTimeMillis();
    r.run();
    long responseTime = (System.currentTimeMillis() - time);
    save(responseTime);
}

在JUnit中,您有秒表规则,允许您计算测试执行。

Codahale还有一个@Timed注释,其结果可以发送给收集器。但是需要更多的布线才能使它全部工作。

答案 1 :(得分:0)

你可以手动完成。

示例:

long time = System.currentTimeMillis();
Response response = server.newRequest("/requesturl").request().buildPost(Entity.text("45")).invoke();
long responseTime = (System.currentTimeMillis() - time);
save(responseTime);

或者,如果您想测试响应时间,请查看here