单元测试假成功和假失败的避免方法

发表于:2010-04-01来源:作者:点击数: 标签:单元失败
单元测试假成功和假失败的避免方法 单元测试工具 1 基本信息 摘要:描述了单元测试要避免的几个问题,并给出几个最佳实践建议。 2 假成功的单元测试 1. 问题描述: 在testXXX方法中,看到有这样的测试代码: public void testInvoke(){ try{ … assertEquals

  单元测试假成功和假失败的避免方法   单元测试工具

  1 基本信息

  摘要:描述了单元测试要避免的几个问题,并给出几个最佳实践建议。

  2 假成功的单元测试

  1. 问题描述:

  在testXXX方法中,看到有这样的测试代码:

  public void testInvoke(){

  try{

  …

  assertEquals(a,b);

  }

  catch(Exception e){

  …

  }

  }

  2. 问题分析:

  如果运行过程中没有出现异常,整个流程不会有任何问题,JUnit也认为整个测试正常通过。

  但是一旦try中的某段代码运行出错,我们会发现由于在assertEquals被调用之前就已经跳到catch中,所以assertEquals并没有被执行,而catch及之后的代码中并没有相应的assertEquals语句,因此JUnit认为这个testXXX方法对应的测试用例正常通过,我们被结果欺骗了。

  3. 解决方法:

  将assertEquals语句移道try…catch之外,变成如下的代码样式:

  public void testInvoke(){

  Object a;

  Object b;

  try{

  …

原文转自:http://www.ltesting.net