JUnit单元测试

使用@Before和@After:

一.JUnit使用@Before和@After:

在@Before方式中初始化测试资源

在@After方式中释放测试资源

二.JUnit对于每个@Test方法:

1.实例化CalculatorTest

2.执行@Before方法

3.执行@Test方法

2.执行@After方法

三.使用@Before和@After可以保证:

1.单个@Test方法执行前会创建新的XxxTest实例

实例变量的状态不会传递给下一个@Test方法

2.单个@Test方法执行前后会执行@Before和@After

四.@BeforeClass和@AfterClass静态方法:

1.@BeforeClass静态方法初始化的对象只能存放在静态字段中

2.静态字段的状态影响到所有@Test

五.初始化测试资源称为Fixture:

1.@Before:初始化测试对象,例如:input = new FileInputStream();

2.@After:销毁@Before创建的测试对象,例如:input.close();

3.@BeforeClass:初始化非常耗时的资源,例如:创建数据库

4.@AfterClass:清理@BeforeClass创建的资源,例如:删除数据库

异常测试

一.对可能抛出的异常进行测试:

1.异常本身是方法签名的一部分:

public static int parselnt(String s) throws NumberFormatException

  1. 测试错误的输入是否导致特定的异常:

    Integer.parselnt(null)

    Integer.parselnt("")

    Integer.parselnt("xyz")

二.使用expected测试异常:

测试异常可以使用@Test(expected=Exception.class)

参数化测试

一.如果待测试的输入和输出是一组数据:

1.可以把测试数据组织起来

2.用不同的测试数据调用相同的测试方法

二.参数化测试要求

1.参数必须由静态方法data()返回

2.返回类型为Collection<Object[]>

3.静态方法必须标记为@Parameters

4.测试类必须标记为@RunWith(Parameterized.class)

5.构造方式参数必须和测试参数对应

超时测试

一.为JUnit的单个测试设置超时:

超时设置为1秒:@Test(timeout=1000)

二.总结

1.@Test(timeout=1000)可以设置超时

2.timeout单位是毫秒

3.超时测试不能取代性能测试和压力测试

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值