常用的mock框架 mock框架做行为测试有什么弊端?
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。语法高度一致。你将一眼就知道如何开发小程序。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。