日期:2014-05-20  浏览次数:20718 次

求助,Junit单元测试
下面这个小程序的单元测试怎么写,(参数化方法)
public class Money
{
public String MoneyToString(double x)  
//将x表示的金额转换成中文大写形式
  {
  String yuan="亿千百拾万千百拾元角分";  
  String digit="零壹贰叁肆伍陆柒捌玖";  
//字符串长度digit.length()为10
  String result="";
  int y=(int)Math.round(x*100-0.5);  
//浮点数扩充100倍后取整(即保留两位小数)
System.out.println("y="+y);
  int i=yuan.length()-1;
  if(y%100==0){
  result = "整"+result;
  i=i-2;
  y=y/100;
  } 
  System.out.println("y="+y);
  boolean b1=true,b2=true; 
  while (y>0 && i>0)
  {
  if(y % 10!=0)
  result = ""+digit.charAt(y % 10)+yuan.charAt(i)+result;  
//转换最低位,一个汉字为一个Unicode字符
  else {
  if(i==8){
  result="元"+result;
  b1=false;
  }
  else if(b1&&b2){
  result="零"+result;
  b2=false;
  }
  }
  i--;
  y=y/10;
   
  }
  return result;
  }
}

------解决方案--------------------
[code=Java][/code]package day;

import java.util.Scanner;

public class MoneyDemo {
public static void main(String[] args) {
Money money=new Money();
Scanner console=new Scanner(System.in);
while(true){
double dou=console.nextDouble();
String str=money.MoneyToString(dou);
System.out.println(str);
}
}

}测试没问题,不知道是否符合要求。
------解决方案--------------------
在一个不带参数的方法里,实例化一个 Money对象,调用MoneyToString这个方法