当前位置: 首页 > wzjs >正文

书店如何做网站seo工具在线访问

书店如何做网站,seo工具在线访问,做淘宝客怎样建网站,物流网络的概念Mockito 是一个流行的 Java 模拟测试框架,用于创建和管理测试中的模拟对象(mock objects)。它可以帮助开发者编写干净、可维护的单元测试,特别是在需要隔离被测组件与其他依赖项时。 目录 核心概念 1. 模拟对象(Mock Objects) 2. 打桩(Stubbing) 3. 验…

Mockito 是一个流行的 Java 模拟测试框架,用于创建和管理测试中的模拟对象(mock objects)。它可以帮助开发者编写干净、可维护的单元测试,特别是在需要隔离被测组件与其他依赖项时。

目录

核心概念

1. 模拟对象(Mock Objects)

2. 打桩(Stubbing)

3. 验证(Verification)

1. 测试准备

2. 模拟依赖(Mock)

3. 执行测试 

4. 验证结果 

5. 验证收藏数增加 

总结


核心概念

1. 模拟对象(Mock Objects)

模拟对象是真实对象的替代品,用于在测试中模拟真实对象的行为,而不需要实际调用真实对象。

2. 打桩(Stubbing)

定义模拟对象在特定条件下的行为,即当调用某个方法时返回什么值或抛出什么异常。

3. 验证(Verification)

验证模拟对象的特定方法是否被调用,以及调用的次数和参数是否符合预期。

下面进行实际操作

等待测试的源码:

    @Overridepublic JSONReturn save(Collect collect) {Collect exist = collectMapper.selectExist(collect.getUserId(),collect.getForumId());if(exist != null){return JSONReturn.failed("操作失败,您已收藏该帖子!");}Date date = new Date();collect.setCreateTime(date);collect.setUpdateTime(date);collectMapper.insert(collect);
//        //收藏+1Forum forum = forumMapper.selectByPrimaryKey(collect.getForumId());forum.setCollectNum(forum.getCollectNum() + 1);forumMapper.updateByPrimaryKeySelective(forum);return JSONReturn.success("收藏成功!");}

 以下下是mock的代码

    @Testvoid save_shouldReturnSuccess_whenCollectNotExists() {Collect collect = new Collect();collect.setUserId(2);collect.setForumId(9);when(collectMapper.selectExist(2, 9)).thenReturn(null); Forum forum = new Forum();forum.setCollectNum(0);when(forumMapper.selectByPrimaryKey(9)).thenReturn(forum);JSONReturn result = collectService.save(collect);assertEquals("收藏成功!", result.getMsg());  // Should return success messageverify(collectMapper, times(1)).selectExist(2, 9);verify(collectMapper, times(1)).insert(collect);verify(forumMapper, times(1)).updateByPrimaryKeySelective(any(Forum.class));ArgumentCaptor<Forum> forumCaptor = ArgumentCaptor.forClass(Forum.class);verify(forumMapper).updateByPrimaryKeySelective(forumCaptor.capture());Integer collectNum = forumCaptor.getValue().getCollectNum();assertEquals(new Integer(1), collectNum);}

这是一个单元测试方法,测试当收藏记录不存在时成功保存收藏的功能。下面是对代码的逐步解释:

1. 测试准备

Collect collect = new Collect();
collect.setUserId(2);
collect.setForumId(9);

创建一个新的收藏对象,设置用户ID为2,论坛ID为9。

2. 模拟依赖(Mock)

when(collectMapper.selectExist(2, 9)).thenReturn(null);

模拟collectMapper.selectExist(2, 9)方法调用,返回null表示该收藏记录不存在。

Forum forum = new Forum();
forum.setCollectNum(0);
when(forumMapper.selectByPrimaryKey(9)).thenReturn(forum);

创建一个论坛对象,设置收藏数为0,并模拟forumMapper.selectByPrimaryKey(9)返回这个论坛对象。

3. 执行测试 

JSONReturn result = collectService.save(collect);

调用被测试的collectService.save()方法。

4. 验证结果 

assertEquals("收藏成功!", result.getMsg());

验证返回的消息是"收藏成功!"。

verify(collectMapper, times(1)).selectExist(2, 9);
verify(collectMapper, times(1)).insert(collect);

验证:

  • selectExist方法被调用了一次

  • insert方法被调用了一次

verify(forumMapper, times(1)).updateByPrimaryKeySelective(any(Forum.class));

验证updateByPrimaryKeySelective方法被调用了一次。

5. 验证收藏数增加 

ArgumentCaptor<Forum> forumCaptor = ArgumentCaptor.forClass(Forum.class);
verify(forumMapper).updateByPrimaryKeySelective(forumCaptor.capture());
Integer collectNum = forumCaptor.getValue().getCollectNum();
assertEquals(new Integer(1), collectNum);

使用ArgumentCaptor捕获传递给updateByPrimaryKeySelective的Forum对象,验证其收藏数从0增加到了1。

总结

这个测试验证了当用户收藏一个尚未收藏的论坛时:

  1. 系统会检查该收藏记录是否存在

  2. 如果不存在则创建新收藏记录

  3. 更新论坛的收藏数(+1)

  4. 返回成功消息

测试覆盖了收藏服务的主要逻辑路径,确保在收藏记录不存在时的正确行为。

 

 

 

 

 

http://www.dtcms.com/wzjs/396047.html

相关文章:

  • 专门提供做ppt小素材的网站日本网络ip地址域名
  • 网站建设朋友圈网址安全检测中心
  • 成都网站制作套餐淘宝关键词排名
  • 做的网站有广告图片市场调研报告800字
  • 做五金奖牌进什么网站如何自己创建一个网站
  • 正规网站建设公司在哪里seo排名赚挂机
  • 互联网网站项目方案书百度地图在线使用
  • 网站是用sql2012做的_在发布时可以改变为2008吗市场策划方案
  • 网站建设中企动力谷歌网页
  • 专业网站设计专业服务宁波seo在线优化公司
  • 如何建设网站zy258创建网址快捷方式
  • 海南网站设计公司微博营销案例
  • 做pc端网站机构互联网金融
  • 做网站要具备哪些月嫂免费政府培训中心
  • 我想学网站建设杭州百度人工优化
  • 邯郸整站优化网站发布与推广
  • 赣榆网站建设杭州排名推广
  • 做旅游网站广州网站seo
  • 做网站一定要数据库吗线上营销推广方式都有哪些
  • 怎样打开网站制作西安企业seo外包服务公司
  • 社区类网站建设国际新闻头条最新消息
  • 拟采用建站技术网站空间
  • 网站建设制作小程序开发代运营网店公司
  • 镇江网站设计建设价格打广告去哪个平台
  • 做外贸怎样上国外网站网站宣传推广方案
  • 怎么样制作个网站开发网站用什么软件
  • 想自己搭建网站得怎么做seo快速排名软件品牌
  • 手机做任务的网站优化seo系统
  • 免费咨询做网站百度推广代理公司哪家好
  • 重庆市网站推广关键词推广方式