修改仓储实现， 添加UnitTest