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)是一个测试 ...
随机推荐
- oracle删除表字段和oracle表增加字段
这篇文章主要介绍了oracle表增加字段.删除表字段修改表字段的使用方法,大家参考使用吧 添加字段的语法:alter table tablename add (column datatype [d ...
- es6 属性及常用新属性汇总
一.includes的作用: includes:判断isNotShowProIdArray数组里是否包含this.item.productid元素 ,若包含true !!: !!(a)的作用是将a强制 ...
- Spring IOC 低级容器解析
1.IOC是什么 IOC-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不 ...
- Redis 5.0 集群搭建
Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...
- MockMvc 对 Spring Boot 进行单元测试
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.ann ...
- 大数据统计分析平台之二、ElasticSearch 6.2.1的安装与使用
# 下载文件cd /usr/local/software wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch ...
- Jsp运行原理
当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行.JSP页面的执行过程如下图所示: 客户端通过浏览器向服务器发出请求,在该请求中 ...
- 网络流24题 第五题 - PowerOJ1740 CodeVS1905 圆桌问题 二分图多重匹配 网络最大流
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - PowerOJ1740 - 有SPJ - 推荐 题目传送门 - CodeVS1905 - 无SPJ - 0% ...
- xml和map互转工具类
/** * xml转map工具类 * @author zhangyao * */ public class XmlToMapUtil { /** * xml转map 不带属性 * @param xml ...
- Redis数据结构之哈希
这个部分依旧分为两个步骤,一个是redis客户端,一个是java的客户端 一:Redis客户端 1.get与set 2.删除 3.增加 4.是否存在 hexists myhash2 age 5.获取长 ...