您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
用JUnit测试Java类
作者:网络转载 发布时间:[ 2014/2/26 11:54:58 ] 推荐标签:Java类 JUnit测试 单元测试

一、简介(Introduction)

看到这儿你应该已经知道为什么测试如此重要了。如果还没有的话,请先阅读这个分为五个部分的系列论文中的第一篇。第一篇是为什么测试有益于企业级软件的概念性介绍。现在绝大多数的软件是分层实现的:表示层、逻辑层(业务逻辑在这儿)和数据层。逻辑层是程序的重点,它包括程序所有的规则和行为。人们经常认为测试是试用一个产品。对汽车来说这非常容易:打火、发动。对桌面应用也很容易:启动程序,四处点点鼠标、敲敲键盘,可以测试你要测的功能。但是,你怎么测试一个由很多Java class组成的Jar文件呢?

二、测试Java类(Testing Java Classes)

当然,本质上说也可以算是启动Java类,然后点击按钮。测试一个Java类的途径是在另一个Java类中调用这个类的方法。下面的例子是一个Java源文件。把程序列表1的内容存为FactorCalculator.java。

程序列表1 (FactorCalculator.java, taken from FactorCalculator.java.v1):

import java.util.List;
import java.util.ArrayList;

public class FactorCalculator {
  public int[] factor(int number) {
    List factorList = new ArrayList();
    while(isDivisor(number, 2)) {
      factorList.add(new Integer(2));
      number /= 2;
    }
    int upperBound = (int)Math.sqrt(number) + 1;
    for(int i = 3; i <= upperBound; i += 2) {
      while(isDivisor(number, i)) {
        factorList.add(new Integer(i));
        number /= i;
      }
    }
    if (number != 1) {
      factorList.add(new Integer(number));
      number = 1;
    }
    int[] intArray = new int[factorList.size()];
    for(int i = 0; i < factorList.size(); i++) {
      intArray[i] = ((Integer)factorList.get(i)).intValue();
    }
    return intArray;
  }
  public boolean isPrime(int number) {
    boolean isPrime = true;
    int upperBound = (int)Math.sqrt(number) + 1;
    if (number == 2) {
      isPrime = true;
    } else if (isDivisor(number, 2)) {
      isPrime = false;
    } else {
      for(int i = 3; i <= upperBound; i += 2) {
        if (isDivisor(number, i)) {
          isPrime = false;
          break;
        }
      }
    }
    return isPrime;
  }
  public boolean isDivisor(int compositeNumber, int potentialDivisor) {
    return (compositeNumber % potentialDivisor == 0);
  }
}

上一页1234567下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd