service业务逻辑的封装
- service目录下新建user_service.py文件
from dao.user_dao import UserDAO
from util.log_util import Log
"""
User的服务层,处理业务逻辑
"""
class UserService:
def __init__(self):
self.user_dao = UserDAO()
self.log = Log()
# 注册用户
def register(self,UserDAO):
self.create_user(UserDAO) #调用DAO层
# 修改用户名&密码
def update_user(self, UserDAO):
# 查询需要修改的用例ID
res = self.user_dao.get_user(UserDAO.id)
if res:
return self.user_dao.update_user(UserDAO)# 调用DAO层
else:
self.log.info("修改的用例不存在")
return False
# 新增用户
def create_user(self, UserDAO):
res = self.user_dao.get_user(UserDAO.id)
if res:
self.log.info("用例已存在,无法新增")
return False
else:
# 用例不存在时候才可以新增
return self.user_dao.add_user(UserDAO) #调用DAO层
# 删除用户
def delete_user(self, id):
res = self.user_dao.get_user(UserDAO.id)
if res:
self.user_dao.delete_user(id) # 调用DAO层
return res
else:
self.log.info("用例不存在,无法删除")
return False
# 查询所有用户
def get_all_user(self):
return self.user_dao.get_all_user() # 调用DAO层
# 按用户名ID查询
def get_filter_user(self, id):
return self.user_dao.get_user(id) # 调用DAO层
-
生成service类的单元测试用例 test_user_service.py(同前一章节的步骤)
-
修改测试用例,并执行测试
from service.user_service import UserService
from dao.user_dao import UserDAO
class TestUserService:
def setup(self):
self.user_service = UserService()
def test_register(self):
userdao = UserDAO(id=2, username="wangda", password=534675675345)
self.user_service.register(userdao)
def test_update_user(self):
userdao = UserDAO(id=1, username="zhangsan", password=1234)
self.user_service.update_user(userdao)
def test_create_user(self):
userdao = UserDAO(id=3, username="laoliu", password=26590)
self.user_service.create_user(userdao)
def test_delete_user(self):
self.user_service.delete_user(id=3)
def test_get_all_user(self):
self.user_service.get_all_user()
def test_get_filter_user(self):
self.user_service.get_filter_user(id=1)
- 验证测试用例执行通过,与DB数据一致