2016 - 2024

感恩一路有你

常用的mock框架 mock框架做行为测试有什么弊端?

浏览量:2010 时间:2021-03-12 21:45:59 作者:admin

mock框架做行为测试有什么弊端?

在单元测试中,我们经常需要做一些模拟操作。现在有一些很好的框架可以做这些事情,比如easymack,它在大多数情况下工作得很好,但是在一些结构的设计上却无能为力。Easymock和其他许多模拟框架只能模拟一些公共的、非静态的或final方法。在大多数情况下,这是没有问题的。它可以处理大多数问题,但是当测试代码包含一些静态方法时。Cactus是一个基于JUnit框架的简单测试框架,用于对服务器Java代码进行单元测试。cactus框架的主要目标是能够在服务器端使用servlet对象对Java方法进行单元测试,比如HttpServletRequest,它是单元测试的框架。例如,如果你编写了一个程序,在进行函数测试,即整体测试之前,你想知道它是对还是错,你可以用这些工具编写一个单元测试用例,分别测试这个类或程序的某个部分

~]@runwith(PowerMockRunner.class类)

@PrepareForTest(助手类)//1. 添加要初始化的类,它是构造函数的类

public class helpertest{

@Mock

private Something mockSomething

@InjectMocks

private Helper Helper

@Test

public void doSomething()抛出异常{

String argument argPowerMockito.whenNew公司( 什么。班级). witharguments(参数)。然后返回(mocksomething)//2。添加要构造的函数的类、参数和返回值

//3。调用所需的测试方法3.剂量测定(参数)

//verify

验证(mocksomething)。Doit()

}

]公共类帮助程序{

public void something(string ARG){

something something=New something(ARG)做点什么吧()

}

mock构造方法?

因为mockito使用继承来实现mock,所以使用cglib生成mock对象来执行,而不是真正的对象。对于mock实例的方法,可以在子类中重写,而静态方法不能被子类重写,因此mockito不能模拟静态方法。但是powermock可以模拟静态方法,因为它直接在字节码上工作,比如:importorg.powermock.api. mockito.PowerMockitoimportorg.powermock.core公司. classloader.annotations.PrepareForTestimportorg.powermock.modules模块. testng.PowerMockTestCaseimport导入org.testng.Assertimportorg.testng.annotations注释. 测试@PrepareForTest( 抽象动物类)公共类AbstractAnimalTest扩展了PowerMockTestCase{@Testpublic void shouldGetMockedHello(){PowerMockito.mockStatic文件( 抽象动物类) 什么时候( 抽象动物.getHello())。然后返回(“你好,模仿动物世界!)字符串问候语=抽象动物.getHello() Assert.assertTrue( 你好。平等(“你好,嘲笑动物世界!“}

开发框架主要分为三个部分:前端、web和持久性,可以自由组合。我单独谈。

在过去,有struts 1、struts 2和spring MVC for java web framework。

目前,只有一个选择:SpringMVC,其他人都不能玩。无论是玩耍、高格、火花还是Struts2。springmvc在用户数量和生态方面与springmvc不一样。

不管其他框架宣传得多好,都不建议投入大量精力。学习框架的设计思路还可以。请直接在生产环境中使用springmvc。spring的基础设施无法与其他框架相比。弹簧靴可用于快速开发。POM可以依赖于enable注释直接使用。

目前,有两种主流的JPA和mybatis。

如果项目是数据建模,请使用mybatis;如果项目是对象建模,请使用JPA。

春天来了。springboot的spring数据子项目应该希望将两者统一起来。不仅两者,而且其野心更大。它希望统一所有持久性层。DB、redis和elastic search都有相应的项目。它希望将所有持久性操作抽象为存储库操作。如果成功,业务逻辑就不需要关心持久层的选择,交换框架也非常方便。

目前,前端框架有三个选项:react、Ag和Vue。

我不喜欢react….的语法。。。。

似乎Ag在中国的知名度不高,所以我们不太关注。

最后的选择是Vue,它简单快速。支持的UI库也比较完善。

如果您想在项目中开发小型程序,建议使用Vue。语法高度一致。你将一眼就知道如何开发小程序。

常用的mock框架 mock内部方法 mockito教程

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。