cms06---cms-usr01

来源:互联网 发布:配置数据库镜像 编辑:程序博客网 时间:2024/06/05 23:57

一、搭建环境:

1.1、创建mycms-user的maven项目

1.2、在mycms-parent的父模块中添加子模块(mycms-user)

这里写图片描述

1.3、在mucms-user的pom.xml中引入父模块

这里写图片描述

1.4、引入依赖模块mycms-core,就可以获取相应的依赖包

这里写图片描述

2、Service层

2.1.1、IUserService接口

2.1.2、UserService

这里写图片描述

2.2、IuserService的方法,即所需功能。

2.2.1、添加用户:包含用户的基本信息, 以及用户角色, 用户组信息

a>IUserService接口中的方法:

这里写图片描述

b>UserService中的具体实现:

2.2.2、删除用户

a>IUserService接口中定义的方法

    /**     * 删除用户, 注意要先在t_user_role,t_user_group中将用户和角色,已经组的对应关系删除。<br>     * 如果用户存在相应的文章,不能够删除     * @param uid     */    public void delete(int uid);

b>UserService的具体实现。

2.2.3更新用户

这里写图片描述

a>IUserService接口中定义的方法

    /**     * 更新用户信息:<br>     * 如果用户的角色已经存在, 不用操作;<br>     * 如果rids中的角色不存在,就要添加;<br>     * ruguo用户的角色,不在rids中, 就需要删除。     * @param user     * @param rids     * @param gids     */    public void update(User user, int[] rids, int[] gids);

b>UserService的具体实现:



2.2.4、用户状态的管理, 如果当前状态是启用, 点击就变成了停用

这里写图片描述

a>IUserService接口中定义的方法

    /**     * 更新用户状态     */    public void updateStatus();

b>UserService的具这里写代码片体实现:

2.2.5、列表,显示用户的所有信息

这里写图片描述

a>IUserService接口中定义的方法

    /**     * 更新用户状态     */    public void updateStatus();

b>UserService的具体实现:



2.2.6、显示用户的信息

这里写图片描述

a>IUserService接口中定义的方法

    /**     * 在用户列表中点击一个用户,可以显示用户的信息。     * @param uid     */    public void LoadUser(int uid);

b>UserService的具体实现:

三、使用EasyMock进行测试

详细的使用方法可以参照:EasyMock 使用方法与原理剖析

3.1、设置test-beans.xml文件。

Bean不在是通过Spring到制定的包去寻找Annotation, 而是通过EasyMock创建对象

通过EasyMock.createStrictMock(IUserDao.class)创建对象。

这里写图片描述

3.2、测试删除用户

3.2.1、使用expectLastCall()捕获上个方法的异常,注意要是void的方法。

3.2.2、使用reply(Mock对象), 也就是test-beans.xml中使用createStrictMock方法创建的bean.

3.2.3、使用verify对实际的测试,验证是否完成。

这里写图片描述

3.3、测试更新用户状态

这里写图片描述

3.3.1、注意: test-beans.xml的注入,通动态调用,static。所以需要每次测试进行一次reset(userDao), 使得userDao是一个新的对象。

3.4、测试findUser()

这里写图片描述

此处由于findUser是有返回值的,所以需要使用expect().addReturn(xx);

这里写图片描述

3.5、测试add()

就是将所有的Dao操作抽出来测试,

有返回值的, 如果需要判断对象不存在, 设置andReturn(null)

这里写图片描述

3.5.1、对象存在,抛出异常

这里写图片描述

原创粉丝点击