单元测试的一些问题

在部门推广单元测试,碰到了一些问题:

1、测试框架应提供的功能
  首先是一个公共测试基类,定义了数据源,是用JPA的,直接用注解定义了数据源。A项目报表比较多,经常需要准备很多测试数据,A项目的负责人想把该功能集成到测试基类中,我认为该功能是A项目独有的,不需要集成到测试基类,可封装到A项目的测试基类。

2、测试粒度
  测试粒度我认为是类的一个方法,在我们组里对应的应该是Service层的方法,DAO层是JPA的,用注解写的,全部是接口。B项目负责人认为测试粒度应该是一个业务,该业务可能做了很多事情。我认为这种业务应该把事情再细分,逐一进行单元测试,再进行业务的集成测试,至少关键的方法要写对应的单元测试。

3、测试时机
  真能做到TDD吗,即先写单元测试再写实现代码。现在基本都是写了实现代码,再写测试代码,这可能也受进度影响。而且单元测试代码基本如2所说的,就对主要业务写一个测试。感觉有点敷衍了事。

4、单元测试要关注什么
  由于我们刚单元测试刚起步,我推荐了Junit, Emma, EasyMock等工具,并指出要关注逻辑覆盖,但部分人员认为,我们初步先注重编写单元测试,可以不管单元测试的质量,只关注输入输出,所以先使用Junit,逻辑覆盖测试也不要求那么高,在Excel里面定义了输出输出并说明单元测试要做的事情,实际的测试代码能够完成Excel里定义的输入输出就行了。

 

5、有关单元测试的覆盖率

   要求覆盖率要达到80%,但这个覆盖率怎样定义呢?关键方法的覆盖率,关键业务的覆盖率,还是类的覆盖率,还是测试代码达到业务代码的80%?这个也是公说公有理,婆说婆有理的。


大家在实际中有遇到这些情况吗?有什么高见拿出来跟兄弟分享一下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值