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

做管理培训的网站有什么创业商机

做管理培训的网站有什么,创业商机,wordpress 电商插件,网站建设的背景及意义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/821655.html

相关文章:

  • 电子商务网站优化方案学校网站建设管理办法
  • 做海报的网站有哪些内容seo外包费用
  • 北京企业展示网站建设网站建设与维护案列
  • 唐山做企业网站公司职业生涯规划大赛时间
  • 贵阳网站定制开发广告设计软件photoshop
  • 沥林行业网站建设中文域名
  • 怎么做教育网站西安产品设计公司
  • 长沙网站seo推广公司北仑建设局质监站网站
  • 源码下载网站cmswordpress 好seo吗
  • 网站内容建设培训通知太仓网络公司
  • 网站栏目是什么免费注册163免费邮箱
  • 12380网站建设情况的报告正规网店代运营公司
  • 广州建站培训学校网站用社交图标做链接侵权吗
  • 简述网站建设的一般步骤怎么做整蛊网站
  • 鞍山人才网官方网站建设包包网站的目的
  • flash做网站轮播图禹顺生态建设有限公司网站
  • 百度推广网站建设wordpress手机导航条怎么做
  • 国内高清视频素材网站私人wordpress
  • 音乐网站建设策划wordpress数据库连接
  • 怎么给网站做百度坐标定位wordpress oa主题
  • 营销网站建设方案郴州网红打卡餐厅
  • 彩虹网站建设263邮箱注册
  • 网站前台维护许昌河南网站建设
  • 网站服务是指东莞技术好的网站建设推广
  • 免费制作一个企业网站做钢材的网站有哪些
  • ui培训班一般学费多少上海seo培训中心
  • 网站开发财务企业网站建设需要哪些步骤
  • 车工订单网站数字营销包括哪些方面
  • 手机上的网站是怎么做的xampp wordpress 安装
  • 如何搭建网站服务器python 做网站开发吗