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

  

  参考资料

  JUnit单元测试的几个规律总结

  JUnit4:Test注解的两个属性:expected和timeout

JUnit accuracy/failure/stress test区别的更多相关文章

  1. JUnit pass/failure/error区别

    pass:被测程序没有抛出异常,得到的是预期的值. failure:被测程序的逻辑有错误,得不到预期的值.执行了JUnit的断言. error:被测程序本身抛出异常,还没有执行到JUnit的断言就抛出 ...

  2. junit中@Before和@BeforeClass区别

    @before 在每个测试方法之前都执行一次, 方法需要声明为public @beforeclass 只在类中执行一次, 必须声明为public static

  3. PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision

    作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...

  4. 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 ...

  5. JUnit----单元测试

    为什么进行单元测试? 1. 重用测试, 应付将来实现的变化. 2. 明确指定我的东西是没问题的. Failure, error的区别? Failure只测试失败, Error指程序本身出错 1. ne ...

  6. 【原】AFNetworking源码阅读(四)

    [原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDe ...

  7. hadoop2.2编程:MRUnit测试

    引用地址:http://www.cnblogs.com/lucius/p/3442381.html examples: Overview This document explains how to w ...

  8. hadoop2.2编程:MRUnit

    examples: Overview This document explains how to write unit tests for your map reduce code, and test ...

  9. selenium3 TestNG 介绍与配置

    一.TestNG介绍 我之前有学习过Junit,Nunit 这些工具,现在想看看TestNG,那么TestNG是什么呢?他们之间有什么区别呢? TestNG(Next Generation)是一个测试 ...

随机推荐

  1. odoo - context

    得到整个context self.context_get() self.env['res.users'].context_get() 得到context里面对应的值 eg:得到flag的值 self. ...

  2. Ex 6_16 旧货销售问题_第七次作业

    即可 子问题定义:定义数组B(S,j),其中 B(S,j)表示在子集S中结束位置为j的子问题的最大收益值,其中j的前一个地点有两种情况,第一种情况是某个拍卖会 另一种情况是从家里出发. 递归关系: 初 ...

  3. Spring_使用XML文件的方式配置事务

    步骤: 正常配置jdbctemplate 正常配置bean 配置事物管理器 配置事物管理器 配置aop切入点,通过切入点把事物链接起来 思路: 接着上一个买书的例子吧,直接拷到新包下,把注解都干掉,需 ...

  4. windows10 更新后要输入2次密码才能进入系统

    解决办法: 设置---账户---登录选项---隐私---更新或重启后,使用我的登录信息自动完成设备设置.(关闭)

  5. hdu 1257 一共要多少套拦截系统 (LIS)

    给出导弹的高度 拦截的导弹会比上一次低 至少要几套拦截系统才能防御所有导弹 求一套系统能防御的最大导弹数: 反向LIS求一共要多少套:正向LIS Sample Input8 389 207 155 3 ...

  6. Django ORM中使用update_or_create功能再解

    以前,我解过这个问题,现在百度搜索,发了像也只能找到我这个帖子. https://www.cnblogs.com/aguncn/p/4922654.html 今天,看了看官方文档,关于这个update ...

  7. java 泛型 ? 和 T的区别

    看了一个CSDN的问题,感觉就清楚了:http://bbs.csdn.net/topics/300181589/ 摘录其中的重点: 泛型方法: public <T extends Object& ...

  8. [转] 深入理解React 组件状态(State)

    React 的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据. 一. 如何定义State 定义一个合适 ...

  9. 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] ...

  10. ubuntu axel

    ubuntu下rar解压工具安装方法: 压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 解压功能 安装 sudo apt-get ...