JUnit学习笔记

完善代码

测试用例的包名和被测试类包名一致,测试类放在test目录下。在每个测试方法前写test方法名更规范。更多方法进行测试时:在测试类上右键,新建一个junit Test Case,更改源代码目录browse,选择test,名字修改,next,选择所要方法,点击finish
1.测试方法上必须使用@Test进行修饰
* 2.测试方法必须使用public void进行修饰,不能带任何的参数
* 3.新建一个源代码目录来存放我们的测试代码
* 4.测试类的包应该和被测试类保持一致
* 5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何依赖
* 6.测试类使用Test作为类名后缀
* 7.测试方法使用test作为方法名的前缀

测试失败的两种情况

1.Failure一般由单元测试使用的断言方法判断失败引起的,这经表示测试点发现了问题
这就是说程序输出的结果和我们预期不一致
2.error是由代码异常引起的,他可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的bug
3.测试用例不是用来证明你是对的 而是用来证明你没有错

常用注解:

1、@Test:将一个普通的方法修饰成为一个测试方法
2、@BeforeClass:它会在所有的方法运行前被执行,static修饰
3、@AfterClass:它会在所有的方法运行结束后被执行,static修饰
4、@Before:会在每一个测试方法被运行前执行一次
5、@After:会在每一个测试方法运行后被执行一次

@Test标注测试方法,不被标注是不会被测试运行的
@Test(expected=XX.class)检查被测方法是否抛出XX异常,只有抛出该异常时才算成功,其他所有情况都是失败或错误
@Test(timeout=毫秒),检查被测方法是否在指定时间内运行结束,如果超时则错误

@Ignore可以让测试运行器忽略被标记的方法不运行,且可以通过@Ignore(“..”)提供备注、告知为何进行忽略

@RunWith指定测试方法通过哪个测试运行器运行(默认的测试运行器足够完成大部分功能)。自定义的测试运行器需要通过继承org.junit.runner.Runner

测试套件

测试套件就是组织测试类一起运行的
写一个作为测试套件的入楼类,这个类不能包含其他方法
更改测试运行器Suite.class
将要测试的类作为数组传入到Suite.SuiteClasses({})

参数化测试

Junit参数化设置:如果要为逻辑相同,但只是参数不同的方法创建多个,或者多次修改某方法的参数,就会显得特别繁杂,Junit提供Parameterized.class运行器来提供参数化设置(使用该运行器的测试类,所有测试方法都会执行预先提供的参数的数量的次数,无论是否使用了该参数)

使用方法:
1.用@RunWith改变测试运行器为Parameterized.class
2.创建一组数据成员(不限数量),这些数据成员就是需要被多次使用的参数(当然也可以有不需要被参数初始化的成员,只需要确保这些数据成员不是被构造器的参数初始化即可)
3.创建一个public static的返回值为Collection的方法,并使用@Parameters修饰,返回的容器内部需要存有数据,这些数据就是每次被使用的参数的值(在构造器中赋值给数据成员,如果每组有多个数据,则容器中存有的元素就是Object数组)
4.创建一个public的构造器,其有一个或多个参数,参数数量和类型视需要被参数初始化的数据成员而定,这些参数用来为数据成员赋值,其每次的值都是由Collection容器的元素指定(非参数初始化的数据成员可以不受影响,只要不使用参数即可)
5.创建自定义的测试方法,该方法会多次执行,直到Collection中的所有数据都执行完毕(不论是否使用了数据,都会多次执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值