再次提问,关于easymock 测试!请高手如内……

tosswang2006 tosswang2006 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚使用easy mock 其中有一个次数的方法设置,
代码如下:
public void testAddAndChangeDocument()
{
mock.documentAdded("Document");
mock.documentChanged("Document");
expectLastCall().times(3);
replay(mock);
classUnderTest.addDocument("Document", new byte[0]);
classUnderTest.addDocument("Document", new byte[0]);
classUnderTest.addDocument("Document", new byte[0]);
classUnderTest.addDocument("Document", new byte[0]);
verify(mock);
}
不太明白设置expectLastCall().times(3); 有什么用,请高手指点

2、在spring+hibernate中测试service有什么意义呢?就是为了看看他用到的dao是否执行了对应的方法吗?

3、
我就是想不明白,我看了easy mock的一些资料,测试service大致分如下步骤:
1、构造一个正确的结果对象或变量。
2、调用一个dao接口,执行一个方法(假设接口还没有被实现,只是模拟执行一下方法)
3、返回1中构造的正确结果,然后运行service中的对应方法(方法中调用2中提到的dao的方法)
4、最后,进行断言判断,这有什么意义啊!返回的对象肯定是正确的,有什么好判断的啊!

4、我这里有一个service中的方法getGroupOfUserList,如果对这个方法进行测试的话,应该如何使用easymock。

public UserPeer getSingleUser(String loginName)
{

UserPeer user = (UserPeer) userDao.find(UserPeer.class, loginName);

return user;
}

public Integer[] getGroupOfUserList(String loginName)
{
UserPeer user = getSingleUser(loginName);

Set groupUserSet = user.getGroupUserSet();

List groupUser = new ArrayList();

Iterator it = groupUserSet.iterator();

while (it.hasNext())
{
GroupUserPeer gup = (GroupUserPeer) it.next();

GroupUserKey key = gup.getId();

GroupPeer group = key.getGroups();

groupUser.add(group);
}

Integer[] groupIds = new Integer[groupUser.size()];

for (int i = 0; i < groupUser.size(); i++)
{
groupIds[i] = ((GroupPeer) groupUser.get(i)).getGroupId();
}

return groupIds;
}
...全文
评论 5
收藏 已收藏
分享
返回顶部
tosswang2006
Web 开发 81,108 成员 341,721 内容