再次提问,关于easymock 测试!请高手如内……
刚使用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;
}