1.首先在测试文件夹下新建一个测试基类BaseTest

BaseTest中的代码如下:

package wbl_ssm_blog.mapper;

import org.junit.Test;
import org.junit.runner.RunWith; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration; // 加载测试运行基础环境 JUnit4
@RunWith(SpringJUnit4ClassRunner.class)
// 加载resources下面的所有源代码
@WebAppConfiguration("src/main/resouces")
// 加载mybatis所有的恶配置文件
@ContextConfiguration(locations={"classpath:mybatis/mybatis-config.xml",
"classpath:spring/spring-mybatis.xml"})
public class BaseTest{
protected Logger log = LoggerFactory.getLogger(getClass());
@Test
public void test(){
System.out.println("aaa");
}
}

然后再新建一个我们实际需要使用的测试类,这个测试类需要继承我们刚才新建的BaseTest。

package wbl_ssm_blog.mapper;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import wbl_ssm_blog.entity.Article; import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import static org.junit.Assert.*; public class ArticleMapperTest extends BaseTest{ @Autowired
public ArticleMapper articleMapper ; @Test
public void findArticleBySome()
{
List<Article> articleList = articleMapper.findArticleBySome("的",10);
System.out.println(articleList.size());
for(Article article : articleList)
{
System.out.println(article);
}
} @Test
public void findArticleBySome01()
{
Article criteria = new Article();
criteria.setArticleTitle("操作");
criteria.setArticleViewCount(2);
List<Article> articleList = articleMapper.findArticleBySome01(criteria);
System.out.println(articleList.size());
for(Article article : articleList)
{
System.out.println(article);
}
} @Test
public void deleteById()
{
int returnResult = articleMapper.deleteById(36);
System.out.println(returnResult);
} @Test
public void insert()
{
Article article = new Article();
article.setArticleViewCount(10);
article.setArticleTitle("你好,这是测试文章的标题");
article.setArticleCommentCount(20);
article.setArticleContent("你好,这是测试文章的内容");
article.setArticleCreateTime(new Date());
article.setArticleUpdateTime(new Date());
article.setArticleIsComment(1);
article.setArticleLikeCount(20);
article.setArticleOrder(1);
article.setArticleStatus(1);
article.setArticleSummary("你好,这是测试文章的总结");
article.setArticleUserId(1); articleMapper.insert(article);
System.out.println(article.getArticleId());
} @Test
public void update()
{
Article article = new Article();
article.setArticleId(39);
article.setArticleTitle("你好,39号文章的标题被更新");
article.setArticleContent("你好,39号文章的内容被更新");
article.setArticleSummary("你好,39号文章的总结被更新"); articleMapper.update(article);
System.out.println(article);
} @Test
public void findAll()
{
HashMap<String,Object> cateria = new HashMap<String,Object>();
cateria.put("status",1);
cateria.put("userId",1);
// cateria.put("keywords","操作");
// cateria.put("categoryId",1);
cateria.put("tagId",1);
List<Article> articleList = articleMapper.findAll(cateria);
System.out.println();
// order by `article`.`article_order` DESC ,`article`.`article_id` DESC
} @Test
public void listAllNotWithContent()
{
List<Article> articleList = articleMapper.listAllNotWithContent();
System.out.println();
} @Test
public void countArticle()
{
int rows = articleMapper.countArticle(1);
System.out.println();
} @Test
public void countArticleComment()
{
int commentCount = articleMapper.countArticleComment();
System.out.println();
} @Test
public void countArticleView()
{
int viewCount = articleMapper.countArticleView();
System.out.println();
} @Test
public void getArticleByStatusAndId()
{
Article article = articleMapper.getArticleByStatusAndId(1,1);
System.out.println();
} @Test
public void pageArtilce()
{
List<Article> articleList = articleMapper.pageArtilce(1,5,10);
System.out.println();
} @Test
public void deleteBatch()
{
List<Integer> ids = new ArrayList<Integer>();
ids.add(40);
ids.add(41);
articleMapper.deleteBatch(ids);
} @Test
public void listArticleByViewCount()
{
List<Article> articleList = articleMapper.listArticleByViewCount(3);
System.out.println();
} @Test
public void getAfterArticle()
{
Article article = articleMapper.getAfterArticle(1);
System.out.println();
} @Test
public void getPreArticle()
{
Article article = articleMapper.getPreArticle(2);
System.out.println();
} @Test
public void listRadomArticle()
{
List<Article> articleList = articleMapper.listRadomArticle(3);
System.out.println();
} @Test
public void listArticleByCommentCount()
{
List<Article> articleList = articleMapper.listArticleByCommentCount(3);
System.out.println();
} @Test
public void updateCommentCount()
{
articleMapper.updateCommentCount(3);
System.out.println();
} @Test
public void getLastUpdateArticle()
{
Article article = articleMapper.getLastUpdateArticle();
System.out.println();
} @Test
public void countArticleByUser()
{
int articleCount = articleMapper.countArticleByUser(1);
System.out.println();
} @Test
public void findArticleByCategoryId()
{
List<Article> articleList = articleMapper.findArticleByCategoryId(1,3);
System.out.println();
} @Test
public void findArticleByCategoryIds()
{
List<Integer> ids = new ArrayList<>();
ids.add(1);
ids.add(2);
ids.add(3);
List<Article> articleList = articleMapper.findArticleByCategoryIds(ids,5);
System.out.println();
} @Test
public void listArticleByLimit()
{
List<Article> articleList = articleMapper.listArticleByLimit(3);
System.out.println();
}
}

然后就可以对mapper.xml文件中的方法进行测试了。

集成了SSM框架的系统怎么做测试?的更多相关文章

  1. 002杰信-陌生的maven-web项目整改成我们熟悉的Web架构;classpath的含义;ssm框架的整合;junit测试

    这篇博客的资源来源于创智播客,先在此申明.这篇博客的出发点是jk项目,传智的做法是Maven的web模板生成的,但是这样子的结构目录与我们熟知的Web项目的结构目录相差很大,所以要按照我们熟知的项目结 ...

  2. SSM框架学习之高并发秒杀业务--笔记2-- DAO层

    上节中利用Maven创建了项目,并导入了所有的依赖,这节来进行DAO层的设计与开发 第一步,创建数据库和表. 首先分析业务,这个SSM匡济整合案例是做一个商品的秒杀系统,要存储的有:1.待秒杀的商品的 ...

  3. SSM框架整合模板

    SSM框架整合--MAVEN依赖 spring方面(包含了springmvc): spring-webmvc:spring与mvc的整合依赖,主要包括spring的核心包和springmvc需要的包 ...

  4. SSM框架开发web项目系列(五) Spring集成MyBatis

    前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑 ...

  5. Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成

    一.SSM概要 与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC ...

  6. JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

    1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...

  7. 浅谈IDEA搭建SSM框架的集成

    前言 学习完MyBatis,Spring,SpringMVC之后,我们需要做的就是将这三者联系起来,Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理, MyBatis作为数据 ...

  8. 浅谈IDEA集成SSM框架(SpringMVC+Spring+MyBatis)

    前言 学习完MyBatis,Spring,SpringMVC之后,我们需要做的就是将这三者联系起来,Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理, MyBatis作为数据 ...

  9. 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程

    本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...

随机推荐

  1. 使用 Create-React-App 开发 Chrome 扩展

    整理 Kindle 标注.书签和笔记从未如此简单! Kindle 标注管理应用 Kindle Mate 只支持 Windows,不支持 Mac.标注只是解析我的剪贴文本文件,配合 FileReader ...

  2. 使用wxpy这个基于python实现的微信工具库的一些常见问题

    使用如下的命令行安装: pip install wxpy Collecting wxpy Downloading https://files.pythonhosted.org/packages/6b/ ...

  3. MyBatis 中如何调用 Java 的 enum (枚举) 字段

    事先作成一 enum,如下: public enum CityCode { ALL("000"), BEIJING("010"), SHANGHAI(" ...

  4. JavaScript获得URL地址栏参数防乱码

    JavaScript获得URL地址栏参数防乱码 JavaScript中经常需要解析地址栏中拼接的参数.下面的代码基本是固定的代码,这里摘录下备用. //获得地址栏参数值 function getUrl ...

  5. python内建模块发起HTTP(S)请求

    一.Python2 httplib 简介:httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. ...

  6. PAT甲级1012题解——选择一种合适数据存储方式能使题目变得更简单

    题目分析: 本题的算法并不复杂,主要是要搞清楚数据的存储方式(选择一种合适的方式存储每个学生的四个成绩很重要)这里由于N的范围为10^6,故选择结构体来存放对应下标为学生的id(N只有2000的范围, ...

  7. mac 使用 brew 安装 nginx 及各种命令

    一.安装 brew install nginx 或 sudo brew install nginx 二.启动 brew services start nginx 或 sudo brew service ...

  8. app开发-3

    一.Audio 模块实现开启手机摄像头 基于html5 plus http://www.html5plus.org/doc/zh_cn/audio.html 栗子:   自定义: scanQR.HTM ...

  9. 项目Beta冲刺(1/7)(追光的人)(2019.5.23)

    所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...

  10. Jenkins拉取github库代码执行构建

    前言 上篇文章写了关于定时构建,以及构建后发送邮件的内容,但是构建时运行的代码是我们手动添加到Jenkins工作空间的.这篇文章我们说一说自动从GitHub远程库拉取代码,执行构建,废话不多说,开始! ...