mock 使用小结

编程入门 行业动态 更新时间:2024-10-05 07:28:50

mock 使用<a href=https://www.elefans.com/category/jswz/34/1768311.html style=小结"/>

mock 使用小结

在进行mock操作之前 在类上需要添加相应注解
@RunWith(PowerMockRunner.class) 这个注解是必须的
@PowerMockIgnore({ “javax.script.", "javax.management.” })不要求一定添加 可以忽略一些控制台报出的错误。
一般控制台出现如下错误可以使用

ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider jdk.nashorn.api.scripting.NashornScriptEngineFactory not a subtype
2022-10-05 16:01:01,987 main ERROR Could not reconfigure JMX java.lang.LinkageError: loader constraint violation: loader (instance of org/powermock/core/classloader/javassist/JavassistMockClassLoader) previously initiated loading for a different type with name "javax/management/MBeanServer"at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:756)...
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({ "javax.script.*", "javax.management.*" })
public class WANestedExceptionTest 
@RunWith(PowerMockRunner.class)
@PrepareForTest({ DBeanHandler.class })
public class DBeanHandlerTest

@PrepareForTest({ DBeanHandler.class }) 这个注解是根据你需要mock那些类进行添加
我个人是项目工程中自己写的类都在这个注解里添加,jar包里的类是直接通过@Mock,不在上面写

添加mock对象
注解

   @Mockprivate PrintWriter output;@Mockprivate HttpServletResponse res;

方法里直接写入

public void test001(){//普通方法引入对应类User user = mock(User.class);//普通方法使用when(user.getWriter()).thenReturn("user1");//静态方法引入对应类mockStatic(Account.class);//使用when(Account.getCampaign()).thenReturn(null);
}

构造方法

@Mock
private InitialContext incont;
//方法里
whenNew(InitialContext.class).withArguments(null).thenReturn(incont);

mock对象的构造方法时,在@PrepareForTest中添加使用该方法的类,而不是本类

@PrepareForTest({ DBeanHandler.class })

私有方法

//方法1@Testpublic void test002() throws Exception {DBeanHandler db = spy(new DBeanHandler());String str = "";doReturn(str).when(db, "getRbString", Mockito.anyString());db.getDataSource();}
//方法2  AAFukenImple 需在类前的注解里添加
MemberModifier.stub(MemberMatcher.

更多推荐

mock 使用小结

本文发布于:2024-02-28 13:44:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769750.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小结   mock

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!