junit_stub

public interface IUserDao {

    public void add(User user);
    public void delete(String username);
    public User load(String username);
}

/**数据库测试往往会破坏数据库原有的数据,所以需要stub(桩)测试,
 * 将测试放置到一个不相干单独的空间进行
 * 例子:1.一般数据库测试之前需要将数据库原有数据备份
 *        2.等数据库测试完成操作之后再将数据库原有数据恢复
 *        3.DBunit就是这种工作方式
 * 《stub aren't mock》
 * stub强调状态,mock强调交互
 * sourceforget.net下载jar*/
public class UserStubDao implements IUserDao {

    private Map<String,User> us=new HashMap<String,User>();
    
    @Override
    public void add(User user) {
        us.put(user.getUsername(),user);
    }

    @Override
    public void delete(String username) {
        us.remove(username);
    }

    @Override
    public User load(String username) {
        return us.get(username);
    }

}


你可能感兴趣的:(junit_stub)