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

小程序制作搭建东莞排名seo网站关键词优化

小程序制作搭建,东莞排名seo网站关键词优化,六安论坛招聘网最新招聘,商业空间设计概念方案常用的mock工具mockito 在编写单元测试时#xff0c;需要mock依赖的对象#xff0c;减少依赖对象对测试的影响#xff0c;Mocktio是常用的mock工具之一#xff0c;那么mockito提供了哪些功能呢#xff1f; Mock对象的创建和配置#xff1a;Mockito可以通过简单的语法创建… 常用的mock工具mockito 在编写单元测试时需要mock依赖的对象减少依赖对象对测试的影响Mocktio是常用的mock工具之一那么mockito提供了哪些功能呢 Mock对象的创建和配置Mockito可以通过简单的语法创建mock对象并允许你配置mock对象的行为。 Mock对象的验证Mockito提供了一系列的验证方法可以帮助你验证mock对象的方法是否被正确调用以及调用次数、参数等信息是否符合预期。 Stubbing桩Mockito允许你为mock对象的方法设置返回值或者抛出异常这个过程被称为Stubbing桩。 Spy间谍Mockito允许你创建一个实际的对象但你可以使用Mockito来监控对象的某些行为。 参数匹配器Mockito提供了多种参数匹配器可以帮助你验证mock对象方法的调用是否符合预期。例如any()可以匹配任何参数eq()可以匹配一个指定的值等。 Annotation支持Mockito支持在测试中使用注解来简化mock对象的创建和管理例如Mock和Spy。 下面是一些实际例子通过这些例子可以了解到如何使用Mockito框架来mock方法行为并进行不同目的的验证例如验证方法的返回方法是否被调用过。 除了对返回结果和是否被调用进行测试外还可以测试执行的方法是否超时方法执行顺序等。具体例子如下所示 上面是一个直接mock List class的例子接下来看看mock一个自定义的class。下面的例子中OneClass中依赖TwoClass如果要对OneClass进行测试那么需要Mock TwoClass这个class。除了直接用Mockito.mock(ClassName.class)进行mock外还可以使用注解MockInjectedMock。如下图右图所示 使用InjectMocks注解时Mockito会自动查找并将标记为Mock的对象注入到被测类中从而实现依赖注入。当测试类中需要模拟依赖对象的行为时我们可以使用Mock来创建这些虚拟对象并在测试中定义它们的行为和返回值。所以Mock和InjectMocks一般配合使用这样不用手动将依赖的mock对象设置到被测class的构造函数中或者属性中。除了Mock和InjectMocks注解外在测试class上面还有ExtendWith(MockitoExtension.class)。ExtendWith(MockitoExtension.class)告诉JUnit 5在运行测试时使用MockitoExtension来扩展测试执行环境从而支持Mockito相关的功能例如使用Mock、InjectMocks等注解。如果是Junit4那么使用RunWith(MockitoJUnitRunner.class)。 需要注意一点Mockito是基于动态代理的框架它可以模拟Java接口和普通的类但对于一些特殊类型的类例如静态类、final类和私有构造函数的类Mockito是无法直接进行模拟。如果是3.4.0或者以上版本的mockito可以mock静态class。对于某些特定情况还可以引入powermock来进行mock或者不mock直接使用真实对象。 PowerMock 是一个用于 Java 开发的扩展测试框架可以与 Mockito 集成使用。PowerMock 可以用于 Mockito 无法 Mock 的一些场景例如 静态方法和私有方法的 Mock Final 类和 Final 方法的 Mock 构造函数的Mock 静态初始化块的Mock 在使用powermock时需要注意的是PowerMock 通过使用 Java Instrumentation API 进行字节码操作来实现上述功能因此使用 PowerMock 需要引入一些额外的依赖并且可能会影响测试的性能和稳定性。同时PowerMock 对代码的修改可能会影响代码的可维护性和可读性因此需要谨慎使用。在编写单元测试过程中除了选择合适的工具外还需要解决好单元测试可测性问题。 单元测试可测性问题 代码中存在过多的依赖当代码中存在大量的依赖关系时单元测试变得困难因为要在测试环境中创建和管理所有依赖的对象和资源。此时可以使用依赖注入、抽象工厂等技术来减少依赖关系从而提高代码的可测试性。 代码中存在过多的状态当代码中存在大量的状态时单元测试也变得困难因为需要在测试中管理和维护状态。此时可以使用不可变对象、纯函数等技术来减少状态的影响从而提高代码的可测试性。 代码中存在难以模拟的外部资源当代码中存在难以模拟的外部资源时单元测试也变得困难例如数据库、网络等。此时可以使用测试替身、内存数据库等技术来模拟外部资源从而提高代码的可测试性。更多mocktio工具使用详情信息可查看官网信息。 前面的例子都是比较单一的例子下面给出一个完成的demo来看看如何为里面的class编写单元测试。如下图所示包含repositorymodelserviceutil四部分被测代码PersonService中依赖的对象有PersonRequest,Person,SalaryCalculatehe TimeUtil其中SalaryCalculatehe TimeUtil是静态类。 下面是为PersonalService编写的单元测试可以看到因为PersonRequest对象是model是一个请求对象所以直接用New的方式创建了PersonRequest。对于静态类这里使用了mockStatic方法来模拟。单元测试中测试了if逻辑的两种结果。 再来看看依赖数据库的class如何编写单元测试下面是UserRegistration的代码代码中调用了userRepository classRepository会依赖数据哭。 下面是为UserRegistration方法编写的单元测试也是验证了if逻辑中的两种场景。单元测试中通过Mock模拟了依赖的UserRepository class。 以上就是单元测试的一些基础知识介绍。
http://www.hkea.cn/news/14280775/

相关文章:

  • 怎么做网站的轮播图dw网站制作的源代码
  • 全国各城市感染高峰进度查询宁波网站建设seo
  • 竞价托管网站建设自己开网店没有货源怎么办
  • 三好街做网站公司网站制作长春
  • php响应式网站开发百度云外贸网站建设论坛
  • seo整站优化公司持续监控百度的链接
  • 厦网站建设培训学校wordpress简约博客主题
  • 威海 医院网站建设商品详情页设计模板
  • 响应式网站 价格产品推广计划
  • intitle 郑州网站建设网站开发和程序开发
  • 扬州网站商城建设价格信息免费发布平台
  • 中国建设银行手机网站下载安装用模板做网站需要懂代码吗
  • wordpress淘宝客网站模板网站建设价表模板
  • 哈尔滨网页设计网站模板免费html5网站源码
  • 在网站上做网络课堂软件多少钱怎么开店
  • 家政网站制作线上线下相结合的营销模式
  • 网站域名费用怎么做帐爱获客电销系统
  • 网站系统建设预算国内专业网站设计
  • 怎样做电影网站模型网站大全免费
  • 服务好的企业网站怎么建设it渠道网
  • 关于集团网站建设的修改请示上海巨型网站建设
  • 网站搜索功能如何实现做平面设计兼职的网站
  • 个人建设网站程序青海西宁网站建设
  • 网站建设电话销售开场白wordpress venue
  • 常见网站结构网站游戏网站怎么做
  • 西安网站优化效果terrytao wordpress
  • 制作一个网站人才招聘网网站策划方案
  • 原材料价格查询网站有什么做衣服的网站吗
  • 网站建设 问答wordpress页面回收站位置
  • 设计企业网站如何制作网站地图