首页 > 其他分享 >使用Mockito-mock,static方法

使用Mockito-mock,static方法

时间:2023-04-28 15:14:09浏览次数:41  
标签:WebUtil selectAuthenList Mockito class static authen public mock

示例

public List<Authen> selectAuthenList(Authen authen) {
        //静态方法
        LoggedInUser loginUser = WebUtil.getLoggedInUser();
		String tenantId = loginUser.getTenantId();
		authen.setTenantId(Long.parseLong(tenantId));
        //业务
		return authenMapper.selectAuthenList(authen);
}

静态方法示例

public class WebUtil {
    public static LoggedInUser getLoggedInUser() {
        //方法逻辑
        return;
    }
}

测试方法

@RunWith(PowerMockRunner.class)
//要mock的静态类
@PrepareForTest(WebUtil.class)
@PowerMockIgnore("jdk.internal.reflect.*")
public class AuthenServiceImplTest extends BaseMockitoTest {
    @InjectMocks
    private AuthenServiceImpl authenService;

    @Mock
    private AuthenMapper authenMapper;
    
    @Test
    public void selectAuthenListTest() {
        
        Authen authen = new Authen();
        authen.setAppid("appId");
        authen.setId(1L);
        //返回需要的参数
        LoggedInUser loggedInUser = new LoggedInUser();
        loggedInUser.setTenantId("1234");
        loggedInUser.setLoginName("loginName");
        //注入要mock的类
        PowerMockito.mockStatic(WebUtil.class);
        
        //mock静态方法
        PowerMockito.when(WebUtil.getLoggedInUser()).thenReturn(loggedInUser);
        
        when(authenMapper.selectAuthenList(anyObject())).thenReturn(list);

        List<Authen> authens = authenService.selectAuthenList(authen);

        assertThat(authens.get(0).getAppid(),is("appId"));
        
    }
}

 

标签:WebUtil,selectAuthenList,Mockito,class,static,authen,public,mock
From: https://www.cnblogs.com/Dshzs17/p/17362243.html

相关文章

  • 使用Mockito-mock,void方法
    示例publicResponsedate(Stringurl){@ResourceprivateIRuleJudgmentServiceruleJudgmentService;//示例方法,伪代码ruleJudgmentService.ruleJudgement(参数,参数);//其他业务returnResponse;}调用的void方法publicinterfa......
  • 调度器51—进程优先级 prio、static_prio、normal_prio、rt_priority
    一、概述structtask_struct{intprio;intstatic_prio;intnormal_prio;unsignedintrt_priority;...} 二、动态优先级——prioprio表示进程的当前优先级,是一个动态值,会在进程运行时不断变......
  • 在Golang中使用Testify mock框架
    1.前言2.实现代码3.Mock和测试4.Mock无参方法5.Mock带参数的方法6.Mock带参数的方法,但是参数具体内容非测试重点7.Mock带参数的方法,并校验实际参数8.Mockery9.参考1.前言我使用golang已经有一段时间了,但直到最近我才终于明白如何在golang测试中进行对象......
  • 还不知道怎么 Mock ,用这 6款工具!
    以下是几个常用的国外可以mock测试的工具,供参考:MockServer:MockServer是一个开源的APImock测试工具,提供了强大的模拟服务器和mock服务功能。MockServer支持多种语言和格式,包括Java、.NET、REST、SOAP等。WireMock:WireMock是一个轻量级的HTTPmock测试工具,可以......
  • static成员变量 singleton
    99写入a5,再a5写入a0(返回地址)如果声明为返回类型为&,实际也一样......
  • static与const的区别
    static是c++中非常常用的修饰符,他被用来控制变量的存储方式和可见性,下面我将从static修饰符的产生原因、作用谈起,全方面分析static修饰符的实质。static的两大作用:一、控制存储方式:static被引入以告知编译器,将变量存储在程式的静态存储区而非栈上空间。1、......
  • C++中struct和class的区别 || C++中const和static的作用
    struct和class不同点两者中如果不对成员不指定公私有,struct默认是公有的,class则默认是私有的class默认是private继承,而struct默认是public继承  static不考虑类的情况隐藏。所有不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该......
  • Django4全栈进阶之路8 STATIC静态文件路径设置、MEDIA媒体文件路径设置
     在Django4中,可以在settings.py文件中设置STATICFILES_DIRS来指定应用程序静态文件所在的文件夹路径,设置STATIC_ROOT来指定收集所有应用程序静态文件的目标文件夹路径。例如:#settings.pySTATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),]STATIC_ROO......
  • javamock生成对象
    `importjava.lang.reflect.Field;importjava.lang.reflect.ParameterizedType;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Random;publicclassMock{privatesta......
  • 单元测试与Mockito
    系列文章目录和关于我零丶背景最近在新公司第一次上手写代码,写了一个不是很难的业务逻辑代码,但是在我写单元测试的时候,发现自己对单元测试的理解的就是一坨,整个过程写得慢,还写得臭。造成这种局面我认为是因为:对Mockitoapi是不是很熟悉没有自己单元测试方法论,不知道怎样写好......