如何在spring或使用junit获取rest api的执行时间(获得响应的时间)
Posted
技术标签:
【中文标题】如何在spring或使用junit获取rest api的执行时间(获得响应的时间)【英文标题】:How to get the execution time(time to get response) of rest api in spring or using junit 【发布时间】:2017-10-23 00:08:30 【问题描述】:我想节省rest api的执行时间。这与我们在邮递员中看到的状态相同。 Junit有什么办法吗?
提前致谢
【问题讨论】:
【参考方案1】:您可以手动完成。
示例:
long time = System.currentTimeMillis();
Response response = server.newRequest("/requesturl").request().buildPost(Entity.text("45")).invoke();
long responseTime = (System.currentTimeMillis() - time);
save(responseTime);
或者如果您想测试响应时间,请查看here
【讨论】:
没错。给出的链接非常有帮助。谢谢【参考方案2】:手动方式确实很简单。尤其是在 Java 8 中你可以做到的地方
private void timed(Runnable r)
long time = System.currentTimeMillis();
r.run();
long responseTime = (System.currentTimeMillis() - time);
save(responseTime);
在 JUnit 中,您有 Stopwatch 规则,允许您计算测试执行。
Codahale 也有一个 @Timed
注释,其结果可以发送给收集器。但是要使这一切正常工作,还需要更多的布线。
【讨论】:
以上是关于如何在spring或使用junit获取rest api的执行时间(获得响应的时间)的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot webservice (REST) - 如何将 JUnit 5 测试从基本身份验证更改为 OAuth2 (Keycloak)
如何使用 junit 为 JPA REST API 编写测试用例?
如何在 Spring-Boot-REST 调用中获取用户信息?