浅谈单元测试关注的一些点

1、每次只测试一个代码单元(方法);
2、确保在内存中运行单元测试;
3、模拟所有外部服务和状态;
4、使用最合适的断言方法;
有许多断言 assertEquals,assertTrue,assertFalse,assertNull,assertNotNull,assertArrayEquals,assertSame 使用最合适的一个最可读的测试代码。 例如:

使用 assertTrue(result) 而不是 assertEquals(true,result)
使用 assertEquals(expected,actual) 而不是 assertTrue(actual.equals(expected))
使用 assertEquals(expectedCollection, actualCollection) 而不是声明集合的大小和每个集合的成员
5、清楚、一致的命名;
例如
1) testCreateEmployee_NullId_ShouldThrowException
2) testCreateEmployee_NegativeId_ShouldThrowException
3) testCreateEmployee_DuplicateId_ShouldThrowException
4) testCreateEmployee_ValidId_ShouldPass
6、注意断言参数的顺序;
assertEquals(预期值,实际值)
7、直接测试类,不要间接测试;
8、不要在单元测试类构造函数初始化;
9、创建针对异常的单元测试、无需编写自己的catch块;
测试方法 抛出Exception 而不是抛出详细的如IOException
代替手动抓预期的异常,使用预期的属性 @Test 注释
@Test(expected = IOException.class)
public void test() throws Exception
{
  //
}
10、每个单元测试争取一个断言;





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值