Junit 超时测试

本文介绍了超时测试的概念,如何使用Junit的@Test注解和@Rule进行时间限制,以及它们在指定方法级别和类级别应用的差异。重点讲解了如何在Java代码中实现超时测试并给出了实际示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

超时测试

1.什么是超时测试?

看被测试方法是否在规定的时间内执行完

除了要保证结果争取还要保证在规定的时间内执行完

就像考试那样 不仅要求结果正确还得在规定的时间内写完

被测试方法执行时间>规定时间⇒测试不通过

被测试方法执行时间<规定时间⇒测试通过

2.超时测试的两种方式

  • 使用@Test(timeout=规定时间)

针对某个方法 哪个方法要就写那个方法上面

  • 使用@Rule注解和Timeout对象

针对整个类中的所有方法 只要写一次 对所有方法起作用

3.准备被测试类

package com.jaylan.example.time_out_test;
// 超时测试被测试代码
public class Addtion {
   
    
     public int add(int x,int y)
     {
   
	 int result=0;
	 try {
   
//	     等待5000毫秒 (5s)后执行 
	     //该方法最少要执行 5000毫秒
	     Thread.sleep(5000);
	     //两数相加
	   result=x+y;
	} catch (Exception e) {
   
	    
	    e.printStackTrace();
	}
	 return result;
	 
     }

}

4.使用@Test(timeout=规定执行时间)进行超时测试

  • 编写测试方法并给每个方法规定执行时间

设置执行时间模板

@Test(timeout&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值