JUnit中TestCase的问题

GFox 2004-04-17 09:19:22
我刚刚开始学习写TestCase,觉得有些疑惑:如果一个类做某件事要两个以上方法配合时,TestCase应该怎么写?

比如说像下面的代码,无法单独测试Get或Set:

代码:
public class User {
public String getName();
public void setName(String name);
}

public class UserTest extends TestCase {

public void testSetName() {
User user = new User();
String name1 = "name1";
user.setName(name1);

String name2 = user.getName();
assertEquals("Name",name1,name2);
}

public void testGetName() {
//难道这里再写一次和上面一模一样的代码?
//又或者不要这个方法?
//或者是两个方法合为一个testGetSetName()?
}
}
...全文
195 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
GFox 2004-04-29
  • 打赏
  • 举报
回复
大约就是这个样子吧^_^
老土豆T 2004-04-24
  • 打赏
  • 举报
回复
To GFox
测试的目的就是,
1,看Set一个值是否正确,
2,再看Get一个值是否正确。

其实,既然testSetName把 testGetName里的内容已经写了。
所以写不写已经无所谓了,我只是保持一下结构而已T_T ,见谅。
liuyk 2004-04-24
  • 打赏
  • 举报
回复
分开写,合并写都是可以的,只要你的测试把所有代码都运行就可以了。
GFox 2004-04-24
  • 打赏
  • 举报
回复
to totodo(土豆仙)
你这样我觉得不太对,
testGetName() 等于就是没写...

to jkit(不再灌水)
你的意思就是“两个方法合为一个testGetSetName()? ”?是吗?
xuxijian2003 2004-04-20
  • 打赏
  • 举报
回复
up
filippo1980 2004-04-20
  • 打赏
  • 举报
回复
mark
jkit 2004-04-20
  • 打赏
  • 举报
回复
可以两个方法一起测。
init
call method1
call method2
assert

另:楼上的testGetName()是错的,没有init直接assert肯定不行的。
老土豆T 2004-04-20
  • 打赏
  • 举报
回复
测试是根据测试案例来的,,根据你的一个个步骤来的。


所以这里的步骤是 先Set一个,然后再get一个。

public class UserTest extends TestCase {

public void testSetName() {
User user = new User();
String name1 = "name1";
user.setName(name1);

String name2 = user.getName();
assertEquals("Name",name1,name2);
}

public void testGetName() {
assertEquals("name1",user.getName()); //
}
}
老土豆T 2004-04-20
  • 打赏
  • 举报
回复
是啊,就是这样子写。
GFox 2004-04-20
  • 打赏
  • 举报
回复
没有人知道吗?

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧