JiveJdon Community Forums
在线276人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
google yahoo 365Key网摘 CSDN网摘 添加到百度搜藏 POCO网摘 新浪ViVi 天极网摘
???en_US.forumThreadNext.name??? 下一主题
Go 共有 5 回复 / 1
 发表新帖子   回复该主题贴
javaGhost

悄悄话
发表文章: 11
注册时间: 2007年08月27日 15:43
新手求助,junit问题,请高手指点 2007年08月27日 15:51 到本帖网址 加入本帖到收藏夹 回复该主题
标签
我照着例子练习使用junit,有个问题不只怎么回事,请高手指点
-------Money.java代码
public class Money{
private int fAmount;
private String fCurrency;

public Money(int amount, String currency){
fAmount = amount;
fCurrency = currency;
}

public int getAmount(){
return fAmount;
}

public String getCurrency(){
return fCurrency;
}

public boolean equals(Object anObject){
if(anObject instanceof Money){
Money aMoney = (Money)anObject;
return aMoney.getCurrency().equals(getCurrency()) && getAmount() == aMoney.getAmount();
}
return false;
}

public String toString(){
return String.valueOf(getAmount()) + "-" + getCurrency();
}
};

------MoneyBusiness.java 代码
public class MoneyBusiness{
public static Money add(Money m1,Money m2){
return new Money(m1.getAmount()+m2.getAmount(),m1.getCurrency());
}

public static Money add(int m1,int m2){
return new Money(m1+m2,"CHF");
}

public static void main(String[] args){
Money m12CHF = new Money(12,"CHF");
Money m14CHF = new Money(14,"CHF");

Money m = add(m12CHF,m14CHF);

System.out.println("add result: " + m.toString());
}
}

------MoneyBusinessTest.java代码
import junit.framework.TestCase;
import junit.framework.Assert;

public class MoneyBusinessTest extends TestCase {
private Money m12CHF;
private Money m14CHF;

protected void setUP(){
m12CHF = new Money(12,"CHF");
m14CHF = new Money(14,"CHF");
}

public void testAdd(){
Money expected = new Money(26,"CHF");
//Money result = new Money(26,"CHF");
Money result = MoneyBusiness.add(m12CHF,m14CHF);
Assert.assertTrue("***should be ture***",expected.equals(result));
}
}
--------------
运行MoneyBusiness.main方法没问题
可用junit测试通不过,显示:
java.lang.NullPointerException
at MoneyBusiness.add(MoneyBusiness.java:6)
at MoneyBusinessTest.testAdd(MoneyBusinessTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

请高手指点,不甚感激

javaGhost

悄悄话
发表文章: 11
注册时间: 2007年08月27日 15:43
看代码麻烦,介绍一下业务 2007年08月27日 16:11 到本帖网址 加入本帖到收藏夹 回复该主题
其实很简单:
一个javabean: Money.java
一个业务: MoneyBusiness.java
一个方法:MoneyBusiness.add(Money m1, Money2)
用junit测试add方法

javaGhost

悄悄话
发表文章: 11
注册时间: 2007年08月27日 15:43
怎么没人应啊! benq帮帮我吧 2007年08月28日 11:35 到本帖网址 加入本帖到收藏夹 回复该主题
怎么没人应啊! benq帮帮我吧
hellohong

悄悄话
发表文章: 34
注册时间: 2007年03月31日 22:49
re:新手求助,junit问题,请高手指点 2007年08月28日 12:34 到本帖网址 加入本帖到收藏夹 回复该主题
你的测试用例的大小写错了,
protected void setUP(){....}
这里的setUP应该改为setUp(), 是字母p小写噢, 这样的话其才是继承父类的一个方法.
javaGhost

悄悄话
发表文章: 11
注册时间: 2007年08月27日 15:43
非常感谢 hellohong 2007年08月28日 17:27 到本帖网址 加入本帖到收藏夹 回复该主题

唉,丢人哟
这么简单的问题,害我折腾了几天
hellohong

悄悄话
发表文章: 34
注册时间: 2007年03月31日 22:49
re:新手求助,junit问题,请高手指点 2007年08月28日 20:56 到本帖网址 加入本帖到收藏夹 回复该主题
继承的话前面加一个@Override, 这样的话就可以起到提醒的作用了,若继承错误,编译的时候会提示的, @Override注释是jdk1.5加上的, 哈哈,
标签
共有 5 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG:
正在读取,请等待...
查询本论坛内 回复超过的热门帖子
标题
 
粗体: [b]文本[/b] 斜体: [i]文本[/i] 下划线 [u]文本[/u] 插入图片 [img]http://wwww.xxxx.com/img.ext[/img] 插入代码 [code]程序代码[/code]  插入url链接 [url]http://url[/url] / [url=http://url]URL加下滑线[/url] 插入附件 插入word文档 Txt等文件
内容
  提交时自动拷贝以上内容到剪贴板 Ctrl-V可取出;提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区 推荐Chrome快速浏览本站
OpenSource JIVEJDON v3.5 Powered by JdonFramework Code © 2002-09 jdon.com

anti spam