Junit4学习笔记
来源:互联网 发布:克里米亚战争 知乎 编辑:程序博客网 时间:2024/06/14 03:51
昨天花了一天时间学了一下JUnit单元测试,今天把整个过程总结了一下,学过之后记下来时常回顾一下。
1.官网
http://junit.org/junit4/
2.jar包导入
在项目上单击右键
选择build path
选择add Libraries
选择Junit就可以了。
3.在写好的程序的所在包新建一个JUnit test file。
4.使用格式,
@Test
assertEquals(预期值, new MathTest().mut(3, 4));
5.注意:
1)测试方法上必须使用@Test进行修饰
2)测试方法必须使用public void进行修饰,不带任何参数
3)建议:新建一个源代码目录来存放测试代码
4)测试类的包应该和被测试类保持一致
5)测试单元中的每个方法必须可以独立测试,测试方法间不能有任何依赖关系
6)建议:测试类使用Test作为类名的后缀
7)建议:测试方法使用test作为方法名的前缀
6.测试失败:
1)Failure一般是由单元测试使用的断言方法判断失败所引起的,这表示测试点出现了问题,程序输出的结果和我们预期的结果不一样
2)error是由代码异常引起的,他可能是由测试代码本身的错误所产生,也可能是测试代码本身存在的一个小bug引起
3)测试用例本身就不是用来证明代码没问题,只是为了证明代码没有错
7.运行流程
1)@BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,所以当测试类被加载后接着会运行它。其在内存中只会存在一份实例,比较适合加载配置文件
2)@AfterClass所修饰的方法通常用来对资源进行清理,比如关闭数据库的连接
3)@Before和@After会在每个测试方法的前后各执行一次
8.常用注解
1)@Test:将一个普通的方法修饰成一个测试方法
@Test(expected=???.class)
@Test(expected=毫秒)设置代码运行超时时间,超过多久就自动结束
2)@BeforeClass:它会在所有的方法被执行前被执行,static修饰
3)@AfterClass:它会在所有方法被运行之后执行
4)@Before:会在每个测试方法被运行前执行一次
5)@After:会在每个测试方法运行之后被执行一次
6)@Ignore:所修饰的测试方法会被测试运行器忽略
7)@RunWith:可以更改测试运行器org.junit.runner.Runner
9.断言
1)assertEquals(expected, actual)
2)assertArrayEquals
10.测试套件
测试套件就是组织测试类一起运行的
1)首先写一个作为测试套件的入口类,这个类里不包括其他的方法,类用public修饰
2)更改测试运行器为Suite.class
@RunWith(Suite.class)
3)将要测试的类作为数组传入到Suite.SuiteClasses({})
@Suite.SuiteClasses({TestDemo1.class,TestDemo2.class,TestDemo3.class })
11.多组参数参与测试
1)更改默认的测试运行器为RunWith(Parameterized.class)
2)声明变量来存放预期值和结果值
3)声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
4)为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
例:
import static org.junit.Assert.*; @RunWith(Paramererized.class)public class ParameterTest{int expected =0;int input1=0;int input2=0;@Parameterspublic static Collection<Object[]> t(){return Arrays.asList(new Object[][]{{3,2,1},{4,2,2}});}}
0 0
- Junit4学习笔记二
- junit4学习笔记
- JUnit4学习笔记
- Junit4 学习笔记
- JUnit4入门学习笔记
- junit4学习笔记
- junit4学习笔记
- junit4学习笔记
- Junit4源码学习笔记
- junit4学习笔记
- junit4学习笔记
- junit4学习笔记
- junit4学习笔记
- Junit4学习笔记
- Junit4学习笔记
- junit4学习笔记
- JUnit4学习笔记
- Junit4学习笔记
- Python:文件的读取、创建、追加、删除、清空
- 5、Power Query-抓取网页数据做漂亮的图表
- ehcache配置说明
- 第16章 控制脚本
- 在.NET2.0中使用LINQ
- Junit4学习笔记
- Java中hashCode的作用
- Log4J日志配置详解
- Android 杂项记录
- Oracle-实例化EM配置文件时出错
- Java注解(1)-注解基础
- Android.support.v7.widget.Toolbar学习
- 为什么跑完步了膝盖会疼痛?
- 索引的概述