首页 > 其他分享 >使用Mockito 对方法中的私有void方法

使用Mockito 对方法中的私有void方法

时间:2023-02-01 13:57:17浏览次数:38  
标签:spy 私有 void Mockito Long 方法 executeAction

这里用一段代码举例

public void ruleJudgement(Long tenantId, Long productId, Long equipId, List<ModelAttributeValue> modelAttributeValues, List<EquipReportValue> equipReportValues) {
           //这里是一些正常的方法
           // 这个是需要moke的私有方法
            executeAction(ruleId);
        }
    }

private void executeAction(Long ruleId) {
    //又一个私有方法
     setFunctionRecordJson(modelFunctionRecord, rule.getDeptId());
}
private void setFunctionRecordJson(ModelFunctionRecord functionRecord, Long tenantId) {
    //正常业务
}

下面就是test测试方法

@Test
    public void ruleJudgementTest() throws Exception{
        //RuleJudgmentServiceImpl这个是你自己moke的那个类的名字
        RuleJudgmentServiceImpl spy = PowerMockito.spy(ruleJudgmentService);
        //这个是你moke的那个公共方法
        spy.ruleJudgement(11L,12L,13L,list,valueList);

        //第一个参数是你的私有方法名字,第二个参数就是你私有方法的参数
        PowerMockito.verifyPrivate(spy).invoke("setFunctionRecordJson",modelFunctionRecord,789L);

        PowerMockito.verifyPrivate(spy).invoke("executeAction",123L);
    }

 

标签:spy,私有,void,Mockito,Long,方法,executeAction
From: https://www.cnblogs.com/Dshzs17/p/17082301.html

相关文章

  • php读取大文件的方法
    1、使用file函数直接读取$starttime=microtime_float();ini_set('memory_limit','-1');$file="testfile.txt";$data=file($file);$line=count($data);//总行数$las......
  • php类自动装载、链式操作、魔术方法
    1、自动装载实例目录下有3个文件:index.phpload.phptests文件夹tests文件夹里有test1.php<?phpnamespaceTests;classTest1{staticfunctiontest(){......
  • Swift开篇009->方法
    PART_A实例方法简介实例方法:可属于某个特定类、结构体或枚举实例的方法实例方法能隐式访问它所属类型的所有其他实例方法和属性实例方法只能被它所属的类的某个特定实例调......
  • Android中Java和JS调用对方方法的简介
    AJava调用Js的方法无参:使用WebView控件​​loadUrl()​​方法,传入​​"javascript:jsMethod()"​​即可调用​​jsMethod()​​方法带参:同上,并将参数加上即可​​"java......
  • 什么是探索性测试?探索性测试有哪些方法?
    (探索性测试及其理论)1、阶段一般在系统测试阶段完成,此时软件质量趋于稳定2、目的在最短的时间内发现最多严重的bug,通过新的思路,新的方法,找到还未被发现的问题,找到漏网......
  • Tomcat 启动startup.bat闪退的解决方法
    主要是配置环境变量,如下:变量名环境路径TOMCAT_HOME   D:\apache-tomcatCATALINA_BASE  D:\apache-tomcatCATALINA_HOME  D:\apache-tomcatJAVA_HOME   ......
  • java对方法进行反射
    1.获取类的class信息2.获取method3.invoke方法执行method 被反射对象```@Data@AllArgsConstructor@NoArgsConstructorpublicclassUser{privateStringid;......
  • 软件开机自启动的四种方法
    本文讲述软件开机自启动的四种方法,前三种只针对在计算机开机的时候,自动打开程序,如程序被人为关闭后,程序不会再自动运行。第四种方法可以在计算机开机的时候自动打开程序,且......
  • RNA-seq测序方法及数据分析
    RNA高通量测序(RNA-sequencing,缩写为RNA-seq)是目前高通量测序技术中被用得最广的一种技术。RNA-seq可以帮助我们了解:各种比较条件下,所有基因的表达情况的差异。RNA-seq可......
  • 本地方法栈与PC寄存器
    本地方法栈与PC程序计数器一、本地方法栈1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用2.本地方法栈,也是线程私有的。3.允......