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); } }