首页 > 其他分享 >Mockito 静态类中的void方法

Mockito 静态类中的void方法

时间:2023-06-21 17:22:17浏览次数:41  
标签:void Mockito public Test DictUtils moke class 类中

moke例子(我直接用伪代码)

public class DictUtils {
    	public static void removeDictCache(String key) {
		//执行得方法业务
	}
}

你的业务代码中引用这个类的方法

public void deleteDictTypeByIds(Long[] dictIds) {
		DictUtils.removeDictCache(Sting key);
		//业务代码
	}

重点来了,我们要写的Test方法

@RunWith(PowerMockRunner.class)
@PrepareForTest({DictUtils.class})//需要moke的类
@PowerMockIgnore("jdk.internal.reflect.*")
public class Test{
    @Test
    public void test() throws Exception {
        Long[] dictIds = {1L,2L};
        PowerMockito.mockStatic(DictUtils.class);
        //第一个参数是你要moke的类,第二个参数是你要moke的方法名称,第三个参数是方法里的参数,如果有多个就继续添加参数就好,用逗号隔开
        doNothing().when(DictUtils.class,"removeDictCache",anyString());
        
    }
}

 

标签:void,Mockito,public,Test,DictUtils,moke,class,类中
From: https://www.cnblogs.com/Dshzs17/p/17496759.html

相关文章

  • mockito5.4.0单元测试(8) --验证某个方法从未被调用
    mockito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#30  //usingmocks-onlymockOneisinteractedmockOne.add("one");//ordinaryverificationverify(mockOne).add("one"); //验证调用过addon......
  • mockito5.4.0单元测试(5) --校验mock对象的某种方法的准确调用次数
     mokito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#exact_verification//mock一个对象LinkedListmockedList=mock(LinkedList.class);//使用mock对象来操作mockedList.add("once");//添加"once"一次......
  • mockito5.4.0单元测试(4) --主动throw异常,模拟异常处理
    importstaticorg.mockito.Mockito.*;  //引入类  LinkedListmockedList=mock(LinkedList.class);  //获得mock对象 //stubbingwhen(mockedList.get(0)).thenReturn("first");     //如果获取0索引,则返回:first when(mockedList.get(1)).the......
  • mockito5.4.0单元测试(1) 官方文档地址
    mockito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html  end.......
  • java中的深拷贝和浅拷贝、Object类中的clone()
    概念浅拷贝:复制基本数据类型的值,以及实例对象的引用地址,拷贝出来的对象,内部类属性指向的是同一个对象深拷贝:即会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,拷贝出来的对象,内部类属性指向的不是同一个对象。Object类中的clone()方法。默认是浅拷贝......
  • implements CBase{ @Override public void say_sth()
    publicclasshello{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Stringarg1="world!"; System.out.printf("hello%s\n",arg1); CBaseobj; obj=newCDerive1(); obj.s......
  • abstract class CBase{ public abstract void say_sth();
    packageTest;publicclasshello{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Stringarg1="world!"; System.out.printf("hello%s\n",arg1); CBaseobj; obj=newCDer......
  • jpa2.2.10 JpaSpecificationExecutor Specification 查询时,实体类中存在@OneToMany,怎
    对于这个问题,您可以在查询时通过join()方法指定不查询@OneToMany关联表。举个例子,如果有一个实体A与实体B是一对多关系,那么您可以这样写查询条件:@OneToMany(targetEntity=DcyRightImage.class,cascade={CascadeType.ALL},fetch=FetchType.EAGER)@JoinColumn(nam......
  • 深度学习神经网络大模型在文本分类中的应用
    目录1.引言2.技术原理及概念2.1基本概念解释2.2技术原理介绍2.3相关技术比较3.实现步骤与流程3.1准备工作:环境配置与依赖安装3.2核心模块实现3.3集成与测试4.示例与应用4.1实例分析4.2应用场景介绍5.优化与改进5.1性能优化5.2可扩展性改进5.3安全性加固深度学习......
  • C语言—— void 的使用
    1、voidfunc(inta,char*b)  当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。2、intfunc(void)  当函数不允许接受参数时,必须使用void限定,这就是我们所说的第二种情况。3、void指针的使用规则void指针可以指向任意类型的数据,就是说可以用任意类型......