前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单元测试框架系列教程6属性invocationCount、invocationTimeOut

单元测试框架系列教程6属性invocationCount、invocationTimeOut

作者头像
凯哥Java
发布2019-06-25 17:16:37
6010
发布2019-06-25 17:16:37
举报
文章被收录于专栏:凯哥Java凯哥Java

这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能。同样,本篇两个属性和这个差不多,只不过是监控运行多次同一个用例的总耗时是否达到设置的最大值。

1.invocationCount

字面意思就是调用的次数统计,这个属性是的英文解释是:The number of times this method should be invoked. 哦,原来就是这个测试用例被调用执行的次数。说明这个属性可以设置一个用例可以重复跑多次,这样理解就好。

2. invocationTimeOut

字面意思是调用的超时,看看英文的解释:The maximum number of milliseconds this test should take for the cumulated time of all the invocationcounts. This attribute will be ignored if invocationCount is not specified.这句话,说了两个意思,第一个是设置一个最大的毫秒数来计算执行多次后总共耗时多少,耗时值不能超过设置的最大毫秒数。第二个意思是说,这个属性是和invocationCount结合使用才会工作。

了解了两个属性的基本含义,我们就看看代码举例。

package com.java.learn; import org.testng.annotations.Test; /**  * create by Anthony on 2017/10/31  */ public class TimeoutTest { @Test(invocationCount = 5, invocationTimeOut = 5100) public void loginTest() throws InterruptedException{         Thread.sleep(1000);         System.out.println("login test");     } }

代码作用:设置了执行次数数5次,5次执行总共耗时不能超过5100毫秒,否则抛出中断异常。

看看运行结果:

这两个参数有什么作用呢?在接口测试中,或者性能测试。我们需要测试某一个功能的稳定性。例如,一个支付接口,调用一次,能够在1秒完成。那么如果调用100次,1万次,甚至更多次数。我想,大家都知道,随着服务器压力增加,不可能每次接口执行都是1秒。例如,我测试支付接口10次,总响应时间不能超过13秒。如果测试超过13秒,说明这个接口性能角度,或者压力测试角度,稳定性角度是有缺陷的,需要开发去想办法优化。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档