JUnit accuracy/failure/stress test区别
accuracy test(结果准确性测试)
例如,Assert.assertEquals(expected, actual)。
如果结果不符合期望则产生failure。说明程序逻辑有问题。
failure test(抛出异常测试)
expected属性用来指示期望抛出的异常类型。例如,@Test(expected = IllegalArgumentException.class)。
如果结果不符合期望则产生failure。说明程序逻辑有问题。
stress test(运行时间测试)
timeout属性用来指示时间上限,单位是毫秒。例如,@Test(timeout = 300)。
如果超时则产生error。说明程序本身性能达不到要求。
举个例子

package edu.zju.cst.Student;
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String speak(String stm) {
try {
Thread.sleep(400);
} catch (InterruptedException e) {
e.printStackTrace();
}
return name + ": " + stm;
}
}
Student.java
package edu.zju.cst; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import edu.zju.cst.Student.Student;
import junit.framework.Assert; public class StudentAccuracyTest {
private Student student; @Before
public void setUp() {
student = new Student();
student.setName("Tom");
} @Test
public void testSpeak() {
String expected = "Tom: hello";
String actual = student.speak("hell");
Assert.assertEquals(expected, actual);
} @After
public void tearDown() { }
}
StudentAccuracyTest.java
package edu.zju.cst; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import edu.zju.cst.Student.Student; public class StudentFailureTest {
private Student student; @Before
public void setUp() {
student = new Student();
student.setName("Tom");
} @Test(expected = IllegalArgumentException.class)
public void testSpeak() throws IllegalArgumentException {
student.speak("hell");
} @After
public void tearDown() { }
}
StudentFailureTest.java
package edu.zju.cst; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import edu.zju.cst.Student.Student; public class StudentStressTest {
private Student student; @Before
public void setUp() {
student = new Student();
student.setName("Tom");
} @Test(timeout = 300)
public void testSpeak() {
student.speak("hell");
} @After
public void tearDown() { }
}
StudentStressTest.java
package edu.zju.cst; import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class)
@SuiteClasses({StudentAccuracyTest.class, StudentFailureTest.class,
StudentStressTest.class})
public class TestSuite { }
TestSuite.java

参考资料
JUnit4:Test注解的两个属性:expected和timeout
JUnit accuracy/failure/stress test区别的更多相关文章
- JUnit pass/failure/error区别
pass:被测程序没有抛出异常,得到的是预期的值. failure:被测程序的逻辑有错误,得不到预期的值.执行了JUnit的断言. error:被测程序本身抛出异常,还没有执行到JUnit的断言就抛出 ...
- junit中@Before和@BeforeClass区别
@before 在每个测试方法之前都执行一次, 方法需要声明为public @beforeclass 只在类中执行一次, 必须声明为public static
- PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision
作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...
- How to Use JUnit With JMeter
Do you need to use JUnit in your testing processes? To answer this question, let's take a look first ...
- JUnit----单元测试
为什么进行单元测试? 1. 重用测试, 应付将来实现的变化. 2. 明确指定我的东西是没问题的. Failure, error的区别? Failure只测试失败, Error指程序本身出错 1. ne ...
- 【原】AFNetworking源码阅读(四)
[原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDe ...
- hadoop2.2编程:MRUnit测试
引用地址:http://www.cnblogs.com/lucius/p/3442381.html examples: Overview This document explains how to w ...
- hadoop2.2编程:MRUnit
examples: Overview This document explains how to write unit tests for your map reduce code, and test ...
- selenium3 TestNG 介绍与配置
一.TestNG介绍 我之前有学习过Junit,Nunit 这些工具,现在想看看TestNG,那么TestNG是什么呢?他们之间有什么区别呢? TestNG(Next Generation)是一个测试 ...
随机推荐
- odoo - context
得到整个context self.context_get() self.env['res.users'].context_get() 得到context里面对应的值 eg:得到flag的值 self. ...
- Ex 6_16 旧货销售问题_第七次作业
即可 子问题定义:定义数组B(S,j),其中 B(S,j)表示在子集S中结束位置为j的子问题的最大收益值,其中j的前一个地点有两种情况,第一种情况是某个拍卖会 另一种情况是从家里出发. 递归关系: 初 ...
- Spring_使用XML文件的方式配置事务
步骤: 正常配置jdbctemplate 正常配置bean 配置事物管理器 配置事物管理器 配置aop切入点,通过切入点把事物链接起来 思路: 接着上一个买书的例子吧,直接拷到新包下,把注解都干掉,需 ...
- windows10 更新后要输入2次密码才能进入系统
解决办法: 设置---账户---登录选项---隐私---更新或重启后,使用我的登录信息自动完成设备设置.(关闭)
- hdu 1257 一共要多少套拦截系统 (LIS)
给出导弹的高度 拦截的导弹会比上一次低 至少要几套拦截系统才能防御所有导弹 求一套系统能防御的最大导弹数: 反向LIS求一共要多少套:正向LIS Sample Input8 389 207 155 3 ...
- Django ORM中使用update_or_create功能再解
以前,我解过这个问题,现在百度搜索,发了像也只能找到我这个帖子. https://www.cnblogs.com/aguncn/p/4922654.html 今天,看了看官方文档,关于这个update ...
- java 泛型 ? 和 T的区别
看了一个CSDN的问题,感觉就清楚了:http://bbs.csdn.net/topics/300181589/ 摘录其中的重点: 泛型方法: public <T extends Object& ...
- [转] 深入理解React 组件状态(State)
React 的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据. 一. 如何定义State 定义一个合适 ...
- la 4394
题解: 区间dp 令f[i][j]表示搞好i-j的最小值 首先如果不用涂色 那么可以从f[i][k] f[k+1][j]转移 如果要涂色,那么就从f[i][k][a](表示i-k全为a)+f[k+1] ...
- ubuntu axel
ubuntu下rar解压工具安装方法: 压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 解压功能 安装 sudo apt-get ...