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

xp系统没有lls组件可以做网站吗域名例子

xp系统没有lls组件可以做网站吗,域名例子,企业网关官网,专业网络推广软件Tips#xff1a;在使用时一定要注意版本适配性问题 一、Mockito 1.1 Mock的使用 Mock 的中文译为仿制的#xff0c;模拟的#xff0c;虚假的。对于测试框架来说#xff0c;即构造出一个模拟/虚假的对象#xff0c;使我们的测试能顺利进行下去。 Mock 测试就是在测试过程…Tips在使用时一定要注意版本适配性问题 一、Mockito 1.1 Mock的使用 Mock 的中文译为仿制的模拟的虚假的。对于测试框架来说即构造出一个模拟/虚假的对象使我们的测试能顺利进行下去。 Mock 测试就是在测试过程中对于某些 不容易构造如 HttpServletRequest 必须在 Servlet 容器中才能构造出来或者不容易获取 比较复杂 的对象如 JDBC 中的 ResultSet对象用一个 虚拟 的对象Mock 对象来创建以便测试方法。 Mock 注解用于创建模拟对象而 InjectMocks 注解用于注入依赖的模拟对象或真实对象到测试对象中。通常情况下Mock 和 InjectMocks 会配合使用在单元测试中提供模拟对象和被测试对象之间的依赖关系。 public class BookService {private BookRepository bookRepository;public BookService(BookRepository bookRepository) {this.bookRepository bookRepository;}public Book findBook(String id) {return bookRepository.findById(id);} }ExtendWith(MockitoExtension.class) class BookServiceTest {Mockprivate BookRepository bookRepository;InjectMocksprivate BookService bookService;Testvoid findBook() {Book book new Book(1, Title);when(bookRepository.findById(1)).thenReturn(book);bookService.findBook(1);verify(bookRepository, times(1)).findById(1);} } 创建了一个模拟的 BookRepository并且使用了 InjectMocks 将它注入到了 BookService 的实例中。 1.2  Mock Spy InjectMocks Mock创建一个模拟对象mocked object。对其进行设置后Mock 创建的对象会返回设置好的值而不是执行真实的逻辑。Spy创建一个间谍对象spied object。它和真实的对象很类似除非明确设定否则都是调用真实的方法。InjectMocks创建一个实例其余用 Mock或 Spy注解创建的mock会被注入到用 InjectMocks 注解的类中。 Q1:既然spy调用的是真实方法那我为什么要使用这个注解呢我直接在需要模拟的方法时候使用mock不就可以了吗 A:Spy 是在你只想模拟类的部分行为而其他方法还希望执行真实的逻辑时非常有用的。 Spy ListString spyList new ArrayListString();Test public void testSpy() {spyList.add(one);spyList.add(two);// 在spy对象上设定返回预期值Mockito.doReturn(100).when(spyList).size();assertEquals(100, spyList.size());assertEquals(one, spyList.get(0)); } 1.3  mockbean与SpyBean MockBean 和 SpyBean 是 Spring Boot 测试中常用的两个注解。下面是它们各自的特性 MockBean MockBean 用于在 Spring 上下文中创建一个 Mock 对象用它替换任何同类型的原有 Bean。MockBean 创建的mock对象没有任何实际行为只返回预设的值。使用 MockBean你可以设置对其进行调用的各个方法的预期返回值。 SpyBean SpyBean 用于在 Spring 上下文中创建一个 Spy 对象用它替换任何同类型的原有的 Bean。SpyBean 创建的 spy 对象基于实际的 Bean事实上它就是原有 Bean 的一个复制体。除非明确地设定否则它的方法调用结果与原有 Bean 完全相同。使用 SpyBean你可以监视或跟踪Bean 的行为并能在需要时们改变某些方法的行为。 总的来说MockBean 和 SpyBean 的核心区别是MockBean 创建的是一个可配置的纯 mock 对象而 SpyBean 则是基于一个实际对象的副本这个副本中的方法调用能够反映出原有对象的行为。 使用场景 MockBean使用场景和代码示例 使用场景我们通常在Spring的集成测试中使用MockBean这个注解用于替换Spring应用程序上下文中的现有Bean。它创建了一个Mock实例并使用它替换原本的Bean。 SpyBean使用场景和代码示例 使用场景当我们希望监测真实的Bean时我们使用SpyBean。一个 Spy Bean 是一个代理在这个代理中被Spy的Bean的所有方法都会像平常一样被调用除非我们明确地改变它们的行为。 1.4 verify的使用方法及场景 Mockito.verify() 方法是 Mockito 框架中用于验证 mock 对象方法调用的工具。通过 verify() 方法我们可以检查 mock 对象的某个方法是否被调用了并可以进一步验证调用次数、调用顺序、传入参数等情况。 下面是 Mockito.verify() 方法的基本使用方法及一些常见应用场景 验证方法是否被调用 // 创建 mock 对象 ListString mockList Mockito.mock(List.class);// 调用被测试的方法 mockList.add(test);// 验证方法 add 是否被调用过一次 Mockito.verify(mockList).add(test);这两个方法里面的参数必须一样才能进行验证。如果你要验证的方法参数与实际调用的方法参数不一样那么 Mockito.verify() 方法会抛出异常并提示参数不匹配。 验证方法被调用次数 // 验证方法 add 被调用了两次 Mockito.verify(mockList, Mockito.times(2)).add(test);验证方法未被调用 // 验证方法 add 未被调用 Mockito.verify(mockList, Mockito.never()).add(test);验证方法在特定顺序下被调用 // 模拟方法调用 InOrder inOrder Mockito.inOrder(mockList); inOrder.verify(mockList).add(first); inOrder.verify(mockList).add(second);验证方法传入参数 // 验证方法 add 是否被调用并且传入参数为字符串 hello Mockito.verify(mockList).add(Mockito.eq(hello));验证方法在特定时间内被调用 // 验证方法 add 在100ms内是否被调用 Mockito.verify(mockList, Mockito.timeout(100)).add(test); 二、Junit5注解及断言 2.1 Junit5内置注解 2.2 junit5内置断言 三、Mockito 和 PowerMock的差异对比 Mockito 和 PowerMock 是两种广泛使用的 Java 单元测试模拟框架。它们都提供了创建和管理 mock 对象的能力以帮助我们隔离并测试代码。然而它们各自的特性使得它们在特定的场景中更有效。 Mockito 特性 是目前最流行的 mocking 框架。它能实现对方法的调用进行模拟并验证方法的调用情况通过一种优雅且简洁的 API 来提供这种功能。Mockito 不支持 mock 私有静态和 fianl 方法或类的模拟。Mockito 的语法简单且易于阅读代码可维护性更高。Mockito 更关注于“测试行为”而非“测试结果”。 PowerMock 特性 PowerMock 是 Mockito 和 EasyMock 的扩展它能够模拟更加复杂的场景包括静态方法构造器final 类及方法私有方法等。PowerMock 使用字节码操作技术通过在运行时修改字节码的方式实现这些复杂的模拟。PowerMock 能够执行更深层次的测试但复杂的特性可能导致代码难以阅读和维护。PowerMock 适合用来模拟那些传统上被视为不可模拟的代码。 两者的主要使用场景 Mockito 适合用于大多数标准的模拟情况可以覆盖大部分的日常测试需求。其简单、易读的 API 使其成为首选工具。PowerMock 的使用场景则更为具体如必须模拟静态方法、final 类/方法或私有方法等情况。不过使用 PowerMock 应慎重这些能力常常提示代码设计存在问题。 使用powerMock模拟mock静态方法 public class UtilityClass {static int staticMethod(long value) {return 100;} }RunWith(PowerMockRunner.class) PrepareForTest(UtilityClass.class) public class MockingStaticMethodTest {Testpublic void testMockingStaticMethod() {//模拟整个 UtilityClass 类PowerMockito.mockStatic(UtilityClass.class);//设置预期返回PowerMockito.when(UtilityClass.staticMethod(5)).thenReturn(10);//在你的测试代码里, 当 UtilityClass.staticMethod(5) 被调用时, 它现在将返回 10int result UtilityClass.staticMethod(5);assertEquals(10, result);//最后验证静态方法是否被调用PowerMockito.verifyStatic(UtilityClass.class);UtilityClass.staticMethod(5);} }
http://www.dnsts.com.cn/news/78542.html

相关文章:

  • 易语言怎么用网站做背景音乐wordpress文章标记
  • 做网站根据内容生成pdf网站建设验收报告范本
  • 建设网站需要准备哪些内容网站接入银联支付怎么做
  • 网站开发专业前景私密浏览器免费版在线看
  • 淄博网站制作首选专家龙岗永湖网站建设
  • 建湖做网站哪家公司好推广公司网站有哪些方式
  • vue做视频网站公司官网网站建设
  • 免费的外贸网站推广方法建筑设计公司注册
  • 网站定制一般价格多少php网站备份
  • 浙江网站建设哪家专业企业网站维护与销售
  • 彩票走势图网站建设做公司点评的网站
  • 雷神代刷推广网站网站建设流程教案
  • 家居企业网站建设行情怎么打帮人做网站开发的广告
  • 密云做网站的石家庄做网站公司汉狮价格
  • 为什么做民宿网站网站建设如何销售
  • wordpress 关于我们页面模板网站建设html代码优化
  • 福建省建设监理公司网站软件开发报价单
  • 厦门建设服务管理中心网站广东网络营销全网推广策划
  • 哪个网站可以做创意短视频大气婚庆网站源码
  • 高端网站设计图片塑料机械怎么做网站
  • 高端大气网站模板WordPress仿w3c
  • 科技公司.net网站源码企业网站租服务器
  • 如何建网站平台今天新闻最新消息
  • 旅游网站建设目标网站分类php网页转wordpress
  • 如何给网站做排名中国十大财务软件
  • 跳转网站怎么做的阜宁县住房和城乡建设局网站
  • 网站建设安全规范上海优刻得官网
  • wordpress自定义函数关键词优化排名第一
  • 上海网站建设shwzzz网站建设详情报价
  • 西宁网站设计设计建立企业网站最佳的公司