廖雪峰Java8JUnit单元测试-2使用JUnit-4超时测试
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超时测试的更多相关文章
- 廖雪峰Java8JUnit单元测试-2使用JUnit-1使用Before和After
1. @Before和@After 同一个单元测试内的多个测试方法: 测试前都需要初始化某些对象 测试后可能需要清理资源fileInputStream.close() @Test public voi ...
- 廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试
测试驱动开发(Test Driver Development) 1.使用main()方法测试的缺点: 只能有1个main()方法,不能把测试代码分离 没有打印出测试结果和期望结果,例如expected ...
- 廖雪峰Java8JUnit单元测试-2使用JUnit-2异常测试
1.异常测试 对可能抛出的异常进行测试: 异常本身是方法签名的一部分: * public static int parseInt(String s) throws NumberFormatExcept ...
- 廖雪峰Java8JUnit单元测试-2使用JUnit-3参数化测试
参数化测试: 可以把测试数据组织起来 用不同的测试数据调用相同的测试方法
- 廖雪峰Python电子书总结
函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END ...
- 廖雪峰python教程的第一个疑问
函数的参数一节中提到: def add_end(L = []); L.append('END') return L 正常调用add_end时(也就是有参数传入时): >>> add_ ...
- 爬虫:把廖雪峰的教程转换成 PDF 电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- Python自学笔记-生成器(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 生成器 通过列 ...
- Python自学笔记-lambda函数(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 匿名函数 通过 ...
随机推荐
- 关于cordova+vue打包apk文件无法访问数据接口
作为一个cordova小白,我按照官方文档和网上资料完成了讲vue文件打包到cordova中并打包成apk文件,完成了一个简单app的制作,当我正陶醉于可以自己完成一个app的时候突然发现,我的app ...
- Ubuntu 的 bash和dash的区别
什么是bash ? Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh.csh.ash.bsh.ks ...
- 将lvm逻辑卷分出一部分
今天公司磁盘报警,查看磁盘发现挂载的/aa空间还很多,而/ee 空间不足,现将/aa上的lvm分出一部分空间.加到/ee上 注:首先要 df -T -h 开一下磁盘格式如果是xfs格式的lvm ...
- 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...
- Qt代码吐槽
擦,代码注释里写这么多“NB!”是要闹哪样!!
- javaScript 深拷贝、浅拷贝
在 JS 中有一些基本类型像是Number.String.Boolean,而对象就是像这样的东西{ name: 'Larry', skill: 'Node.js' },对象跟基本类型最大的不同就在于他 ...
- HTTPS协议学习
http的缺点:(其他一些未加密的协议中也存在) 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 TCP/IP是可能被窃听的 ...
- webpack 插件库
webpack常用的插件安装命令 webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:np ...
- 常见模块(七) re模块
首先明白正则表达式和re模块的关系:正则:是一种规则,这种规则在任何一种语言中都严格按照此规则进行匹配.正则匹配的就是字符串,从字符串的左边往右边匹配re: re是python语言中的利用正则规则的一 ...
- P1181 数列分段Section I
题目描述(跳转) 对于给定的一个长度为NN的正整数数列A_iAi,现要将其分成连续的若干段,并且每段和不超过MM(可以等于MM),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 第1 ...