2006-12-11
单元测试之实践三 Service的测试
测试Service,因为Service依赖的Dao, 所以只需Mock一个Dao即可。在这里我详细的介绍关于注册这个功能的测试
注册功能的实现。
测试代码
首先我们建立一个关键字查询,name="wuhua";
然后调用Dao的方法,
然后自定义返回一个自己预期的对象,
最后通过比较这个对象判断结果是否是自己想要的
java 代码
- public interface IAccountService extends IBaseService {
- Account findAccountById(String id);
- Account findAccounByName(String name);
- void regist(Account account) throws ObjectExistsException;
- }
java 代码
- public void regist(Account account) throws ObjectExistsException {
- if(accountDao.findAccounByName(account.getName()) != null)
- throw new ObjectExistsException("User's name is exists!");
- accountDao.save(account);
- }
测试代码
java 代码
- protected void setUp() throws Exception {
- control = MockControl.createControl(IAccountDao.class);
- accountDao = (IAccountDao) control.getMock();
- as = new AccountService();
- as.setAccountDao(accountDao);
- }
- public void testFindAccountByName() {
- String name = "wuhua";
- accountDao.findAccounByName(name);
- Account a = new Account("wuhua");
- a.setId(name);
- control.setReturnValue(a);
- control.replay();
- Account at = as.findAccounByName(name);
- Assert.assertEquals(name, at.getId());
- Assert.assertEquals(a, at);
- control.verify();
- }
首先我们建立一个关键字查询,name="wuhua";
然后调用Dao的方法,
然后自定义返回一个自己预期的对象,
最后通过比较这个对象判断结果是否是自己想要的
- 浏览: 562644 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
我的相册
我女朋友
共 12 张
共 12 张
最新评论
-
Google产品大全
很全很全很全很全
-- by sheandwei -
说真的UCWEB看奥运真方便
楼下的。话不能这么说。我现在上班开奥运就靠它了,
-- by wuhua -
说真的UCWEB看奥运真方便
傻佬,这也值得说
-- by caohj -
UCWEB使用秘诀
最近发现UCWEB有准备发布新版本了。到时再仔细研究相关的一些特殊用法。
-- by wuhua -
开始进入另外一个领域
自己的水平还很菜啊。要努力学习
-- by wuhua






评论排行榜