1.超时测试

可以为JUnit的单个测试设置超时:

  • 超时设置1秒:@Test(timeout=1000),单位为毫秒

2.示例

Leibniz定理:PI/4= 1 - 1/3 + 1/5 - 1/7 +1/9...即 PI = 4 - 4/3 + 4/5 - 4/7...

Calculator.java

package com.testList;

public class Calculator {
public double calculator(int count){
double sum = 0;
boolean positive = true;
int n = 0;
for(int i = 1;;i+=2){
sum = sum + (positive ? 4.0 : -4.0)/i;
n++;
positive = !positive;
if (n==count){
break;
}
}
return sum;
}
}

CalculatorTest.java

package com.testList;

import org.junit.After;
import org.junit.Before;
import org.junit.Test; import java.util.Calendar; import static org.junit.Assert.*; public class CalculatorTest {
Calculator Pi;
@Before
public void setUp(){
Pi = new Calculator();
}
@Test(timeout = 500)
public void test1k(){
double r = Pi.calculator(1000);
assertEquals(3.14, r, 0.01);
}
@Test(timeout = 500)
public void test1m(){
double r = Pi.calculator(1000000);
assertEquals(3.14, r, 0.01);
}
@Test(timeout = 500)
public void test100m(){
double r = Pi.calculator(100000000);
assertEquals(3.14, r, 0.01);
}
@After
public void tearDown(){
Pi = null;
}
}

3.总结:

  • @Test(timeout=1000)可以设置超时
  • timeout单位是毫秒
  • 超时测试不能取代性能测试和u压力测试

廖雪峰Java8JUnit单元测试-2使用JUnit-4超时测试的更多相关文章

  1. 廖雪峰Java8JUnit单元测试-2使用JUnit-1使用Before和After

    1. @Before和@After 同一个单元测试内的多个测试方法: 测试前都需要初始化某些对象 测试后可能需要清理资源fileInputStream.close() @Test public voi ...

  2. 廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试

    测试驱动开发(Test Driver Development) 1.使用main()方法测试的缺点: 只能有1个main()方法,不能把测试代码分离 没有打印出测试结果和期望结果,例如expected ...

  3. 廖雪峰Java8JUnit单元测试-2使用JUnit-2异常测试

    1.异常测试 对可能抛出的异常进行测试: 异常本身是方法签名的一部分: * public static int parseInt(String s) throws NumberFormatExcept ...

  4. 廖雪峰Java8JUnit单元测试-2使用JUnit-3参数化测试

    参数化测试: 可以把测试数据组织起来 用不同的测试数据调用相同的测试方法

  5. 廖雪峰Python电子书总结

    函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END ...

  6. 廖雪峰python教程的第一个疑问

    函数的参数一节中提到: def add_end(L = []); L.append('END') return L 正常调用add_end时(也就是有参数传入时): >>> add_ ...

  7. 爬虫:把廖雪峰的教程转换成 PDF 电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

  8. Python自学笔记-生成器(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 生成器 通过列 ...

  9. Python自学笔记-lambda函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 匿名函数 通过 ...

随机推荐

  1. Java的URL类(一)

    转:https://www.cnblogs.com/blackiesong/p/6182038.html Java的URL类(一) Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平 ...

  2. SpringBoot统一异常处理

    /** * 异常处理器 */ @RestControllerAdvice // public class BDExceptionHandler { private Logger logger = Lo ...

  3. 'touch' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    touch是Linux环境下的命令,当我们在cmd中使用时会弹出以下问题 在cmd中我们可以使用echo test> 然后我们用dir命令来查看一下当前文件夹下文件有没有创建 文件成功创建.

  4. 剑指Offer (汇总)

    刷完剑指Offer很久了,前几天想起来去年开通的博客园,正好把刷题笔记整理一下 刷题平台:牛客网 刷题语言:Python **链表(8道)** [剑指Offer 3. 从尾到头打印链表 (链表)](h ...

  5. linux怎么实时查看目录下是否有文件生成

    inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件. inotify-tools是用 ...

  6. Centos7-跟踪用户操作记录并录入日志

    1. 添加bash全局配置文件: cd /etc/profile.d sudo -e vi log_command.sh 输入如下内容: export PROMPT_COMMAND='RETRN_VA ...

  7. docker中的oracle-11g-安装配置

    docker镜像:wnameless/oracle-xe-11g 启动镜像的命令: docker run -d -v /data/oracle_data:/data/oracle_data -p 11 ...

  8. webstorm 2018 LICENSE SERVER 最新激活网址

    2018年8月更新:https://s.tuzhihao.com:666 (亲测)

  9. 准备学习wrf

    namelist.wps 中的 geog_data_path=后面的文件夹的文件即土地覆被资料:(看下图) 推荐中科院地理所承担的地球系统科学数据共享平台上共享的100m分辨率资料,官网  http: ...

  10. 离线安装Eclipse插件-Vrapper

    首先下载Vrapper的资源文件:https://sourceforge.net/projects/vrapper/ 下载完成后解压,将features和plugins文件夹内的文件复制到eclips ...