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

什么网站做简历最好wordpress为艾迪

什么网站做简历最好,wordpress为艾迪,基于wordpress的开发教程,免费申请网站永久一#xff1a;单元测试的特点 配合断言使用#xff08;可以杜绝System.out#xff09;可以重复执行不依赖环境不会对数据产生影响spring的上下文环境不是必须的一般都需要配合mock类框架来实现 二#xff1a;常用的mock类框架 mockito 官网#xff1a;Mockito framew…一单元测试的特点 配合断言使用可以杜绝System.out可以重复执行不依赖环境不会对数据产生影响spring的上下文环境不是必须的一般都需要配合mock类框架来实现 二常用的mock类框架  mockito 官网Mockito framework site 另外现在像powermock和JMockito现在都不常用了 三Mockito的单独使用 1mock对象和spy对象 方法插桩 方法不插桩 作用对象 最佳实践 mock 执行插桩逻辑 返回mock对象的默认值 类、接口 被测试类或其依赖 spy 执行插桩逻辑 调用真实方法 类、接口 被测试类 2初始化mock/spy对象的方式 方法一 方法二 方法三 junit4 RunWith(MockitoJUnitRunner.class)Mock等注解 Mockito.mock(X.class)等静态方法 MockitoAnnotations.openMocks(this)Mock等注解 junit5 ExtendWith(MockitoExtension.class)Mock等注解 四具体实例操作 Controller层 Slf4j RestController Validated public class UserController{Resourceprivate UserService userService;GetMapping(/selectById)public UserVO selectById(NotNull Long userId){return userService.selectById(userId);}PostMapping(/add)public String add(RequestBody Validated UserAddReq addReq){userService.add(addReq.getUsername(),addReq.getPhone(),addReq.getfeatures());return ok;} } 方法一ExtendWith(MockitoExtension.class)Mock等注解 ExtendWith(MockitoExtension.class) public class InitMockSpyMethod1{mockprivate UserService mockUserService;Spyprivate UserService spyUserService;Testpublic void test1(){//true 判断某对象是不是mock对象System.out.println(Mockito.mockingDetails(mockUserService).isMock() Mockito.mockingDetails(mockUserService).isMock());//false 判断某对象是不是apy对象System.out.println(Mockito.mockingDetails(mockUserService).isMock() Mockito.mockingDetails(mockUserService).isMock());//true 判断某对象是不是spy对象System.out.println(Mockito.mockingDetails(spyUserService).isSpy() Mockito.mockingDetails(spyUserService).isSpy());//true 判断某对象是不是spy对象,因为spy是一种特殊的mockspy对象是另一种不同类型的mock对象System.out.println(Mockito.mockingDetails(spyUserService).isMock() Mockito.mockingDetail(spyUserService).isMock());} } spy对象是一种特殊的mock对象 方法二:Mockito.mock(X.class)等静态方法 public class InitMockSpyMethod1{private UserService mockUserService;private UserService spyUserService;BeforeEachpublic void init(){mockUserService Mockito.mock(UserService.class);spyUserService Mockito.spy(UserService.class);}Testpublic void test1(){System.out.println(Mockito.mockingDetails(mockUserService).isMock() Mockito.mockingDetails(mockUserService).isMock());System.out.println(Mockito.mockingDetails(mockUserService).isSpy() Mockito.mockingDetails(mockUserService).isSpy());System.out.println(Mockito.mockingDetails(spyUserService).isMock() Mockito.mockingDetails(spyUserService).isMock());} } 方法三MockitoAnnotations.openMocks(this)Mock等注解 public class InitMockSpyMethod1{mockprivate UserService mockUserService;Spyprivate UserService spyUserService;BeforeEachpublic void init(){MockitoAnnotations.openMocks(this);}Testpublic void test1(){//true 判断某对象是不是mock对象System.out.println(Mockito.mockingDetails(mockUserService).isMock() Mockito.mockingDetails(mockUserService).isMock());//false 判断某对象是不是apy对象System.out.println(Mockito.mockingDetails(mockUserService).isMock() Mockito.mockingDetails(mockUserService).isMock());//true 判断某对象是不是spy对象System.out.println(Mockito.mockingDetails(spyUserService).isSpy() Mockito.mockingDetails(spyUserService).isSpy());//true 判断某对象是不是spy对象,因为spy是一种特殊的mockspy对象是另一种不同类型的mock对象System.out.println(Mockito.mockingDetails(spyUserService).isMock() Mockito.mockingDetail(spyUserService).isMock());} } 五参数匹配 参数匹配指的是通过方法签名参数来指定哪些方法调用需要处理被处理插桩、verify验证 对于mock对象不会调用真实方法直接返回mock对象的默认值 默认值int、nullUserVO、空集合list 六方法插桩 指定调用某个方法时的行为stubbing达到相互隔离的目的 /** *测试插桩时的参数匹配 */ Test public void test2(){UserUpdateReq userUpdateReq1 new UserUpdateReq();userUpdateReq1.setId(1L);userUpdateReq1.setPhone(1L);//指定参数为userUpdateReq1时调用mockUserService.modifyById(userUpdateReq1);Mockito.doReturn(99).when(mockUserService).modifyById(userUpdateReq1);int result1 mockUserService.modifyById(userUpdateReq1);//运行结果为99System.out.println(result1 result1);UserUpdateReq userUpdateReq2 new UserUpdateReq();userUpdateReq2.setId(2L);userUpdateReq2.setPhone(2L);int result2 mockUserService.modifyById(userUpdateReq2);//运行结果为0System.out.println(result2 result2); } 总结 是告诉mockito当传入的是下面的参数这个类型时才对其进插桩若不是这个值则不用对它进行插桩 若想要拦截某种类型的任意对象则需要运用到 ArgumentMatchers.any拦截UserUpdateReq类型的任意对象 校验 add方法调用一次校验通过。 private UserService mockUserService;Testpublic void test4(){ListString features new ArrayList();mockUserService.add(实验,123,festures);//校验参数为乐之者,123,festuresfeatures的add方法调用了1次Mockito.verify(mockUserService,Mockito.times(2)).add(实验,123,festures)//报错 要么都用要么就都别用// Mockito.verify(mockUserService,Mockito.times(2)).add(实验,123,festures);//此时可以校验通过Mockito.verify(mockUserService,Mockito.times(2)).add(anyString(),anyString(),anyList());}} 但是有一点需要牢记的除了any还有(anyLong,anyString...),注意他们都不包括null,如果传null还是不能被匹配的。 通过插桩指定方法的返回值 void返回值方法插桩 插桩的两种方式 多次插桩 其中when(mockList.size()).thenReturn(1).thenReturn(2).thenReturn(3)可以简写为when(mockList.size()).thenReturn(1,2,3); thenAnswer指定插桩逻辑 执行真正的原始方法 verify的使用 InjectMocks注解的使用 1.被InjectMocks标注的属性必须是实现类因为mockito会创建对应的实例对象默认创建的对象就是未经过mockito处理的普通对象。因此常配合spy注解使其变成默认调用真实方法的mock对象。 2.mockito会使用spy最终的结果就是会把userFeatureService给注入到InjectMocks标注的变量所对应的对象里面去。 注入的原理
文章转载自:
http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn
http://www.morning.ruifund.com.gov.cn.ruifund.com
http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com
http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn
http://www.morning.lgznf.cn.gov.cn.lgznf.cn
http://www.morning.bktzr.cn.gov.cn.bktzr.cn
http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn
http://www.morning.scrnt.cn.gov.cn.scrnt.cn
http://www.morning.hxycm.cn.gov.cn.hxycm.cn
http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn
http://www.morning.dbfp.cn.gov.cn.dbfp.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.sjqml.cn.gov.cn.sjqml.cn
http://www.morning.qrpx.cn.gov.cn.qrpx.cn
http://www.morning.phwmj.cn.gov.cn.phwmj.cn
http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn
http://www.morning.jwfkk.cn.gov.cn.jwfkk.cn
http://www.morning.amonr.com.gov.cn.amonr.com
http://www.morning.rkrl.cn.gov.cn.rkrl.cn
http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.morning.azxey.cn.gov.cn.azxey.cn
http://www.morning.rjfr.cn.gov.cn.rjfr.cn
http://www.morning.yrjym.cn.gov.cn.yrjym.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.fwnyz.cn.gov.cn.fwnyz.cn
http://www.morning.gqflj.cn.gov.cn.gqflj.cn
http://www.morning.wdykx.cn.gov.cn.wdykx.cn
http://www.morning.fksyq.cn.gov.cn.fksyq.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.xkwyk.cn.gov.cn.xkwyk.cn
http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn
http://www.morning.wwdlg.cn.gov.cn.wwdlg.cn
http://www.morning.bswxt.cn.gov.cn.bswxt.cn
http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.yfmxn.cn.gov.cn.yfmxn.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn
http://www.morning.lonlie.com.gov.cn.lonlie.com
http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn
http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn
http://www.morning.rlhjg.cn.gov.cn.rlhjg.cn
http://www.morning.wcjk.cn.gov.cn.wcjk.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.xfxlr.cn.gov.cn.xfxlr.cn
http://www.morning.mdgpp.cn.gov.cn.mdgpp.cn
http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn
http://www.morning.srbsr.cn.gov.cn.srbsr.cn
http://www.morning.mhpkz.cn.gov.cn.mhpkz.cn
http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn
http://www.morning.ryjl.cn.gov.cn.ryjl.cn
http://www.morning.djmdk.cn.gov.cn.djmdk.cn
http://www.morning.rqnml.cn.gov.cn.rqnml.cn
http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn
http://www.morning.dsxgc.cn.gov.cn.dsxgc.cn
http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn
http://www.morning.xprq.cn.gov.cn.xprq.cn
http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn
http://www.morning.fdrch.cn.gov.cn.fdrch.cn
http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn
http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn
http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn
http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn
http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn
http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn
http://www.morning.tbwsl.cn.gov.cn.tbwsl.cn
http://www.morning.pfcrq.cn.gov.cn.pfcrq.cn
http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn
http://www.morning.tqklh.cn.gov.cn.tqklh.cn
http://www.morning.bynf.cn.gov.cn.bynf.cn
http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn
http://www.morning.btgxf.cn.gov.cn.btgxf.cn
http://www.morning.srtw.cn.gov.cn.srtw.cn
http://www.morning.yhxhq.cn.gov.cn.yhxhq.cn
http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn
http://www.morning.bcnsl.cn.gov.cn.bcnsl.cn
http://www.tj-hxxt.cn/news/236675.html

相关文章:

  • 网站标题怎么设置电商平台代运营
  • 网站维护的重要性建网站容易吗
  • 秦皇岛网站村网通为每个农村建设了网站
  • wordpress灯箱图片翻页seo快速排名软件品牌
  • 在线做网站索引西安营销型网站制作价格
  • 网站建设开源节流网络销售是什么
  • 广安网站设计网站建设教程 零基础
  • vps被攻击网站打不开ping值高为什么做可信网站
  • 怎么在360搜索做网站推广园区官方网站建设
  • 手表网站 海马300米潜水表建设直播网站需要多少钱
  • 淄博做网站公司有哪些外包活一般是怎么接的
  • 自己做了个网站wordpress 进去管理
  • 网站广告轮播代码上海工作网站
  • 手机网站判断跳转静态网站可以做留言板
  • 跨境购物网站建设校园网站建设素材
  • phpcms电影网站开发公众号开发实践 pdf
  • 大学生个人网站制作网站建设环保
  • 湖南网站优化外包费用wordpress添加电影
  • 聊城专业网站制作公司自己做网站的费用
  • 南京我爱我家网站建设新村二手房网站做好后怎么做seo
  • 深圳方维网站建设公司网站打不开网址显示无法访问
  • 台州建设信息网站凡科网建站模板
  • 房产中介网站建设的目的wordpress防攻击代码
  • 阜阳北京网站建设做网站的自我介绍
  • 网站建设公司在哪里找资源潮州seo
  • 昆明凡科建站多少钱网站做等保测评
  • 网站建设类型分类响应式网站简单模板
  • 兼职做平面模特网站用别的公司域名做网站
  • 用mcu做灯光效果网站科技进步是国防强大的重要的保证
  • 关闭网站弹窗代码信息流广告文案