mockito单元测试之静态方法

2022-07-10 11:48:53

静态方法的测试

<!-- mock测试相关 --><dependency><groupId>org.mockito</groupId><artifactId>mockito-all</artifactId><version>2.0.2-beta</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-module-junit4</artifactId><version>1.6.6</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-api-mockito</artifactId><version>1.6.6</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-module-junit4-rule-agent</artifactId><version>1.6.6</version><scope>test</scope></dependency><!--<dependency>--><!--<groupId>org.powermock</groupId>--><!--<artifactId>powermock-module-testng</artifactId>--><!--<version>1.7.0</version>--><!--<scope>test</scope>--><!--</dependency>--><dependency><groupId>org.powermock</groupId><artifactId>powermock-core</artifactId><version>1.6.6</version><scope>test</scope></dependency>
importstatic org.mockito.Matchers.any;importstatic org.mockito.Mockito.mock;importstatic org.mockito.Mockito.when;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.suning.plsadm.admin.common.constant.AdminConst;import com.suning.plsadm.admin.controller.loan.certificate.LoanSettleCertificateController;import com.suning.plsadm.dao.admin.session.AdminRequestContext;import com.suning.plsadm.entity.absContract.AbsContractInfo;import com.suning.plsadm.entity.admin.system.user.UserEntity;import com.suning.plsadm.service.absContract.AbsContractService;import com.suning.plsadm.service.common.IOssUploadAndDownloadService;import com.suning.plsadm.util.page.Limit;import com.suning.plsadm.vo.admin.login.LoginVO;import org.junit.runner.RunWith;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.MockitoAnnotations;import org.powermock.api.mockito.PowerMockito;import org.powermock.core.classloader.annotations.PrepareForTest;import org.powermock.modules.junit4.PowerMockRunner;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpServletResponse;import org.springframework.mock.web.MockHttpSession;import org.testng.annotations.BeforeClass;import org.junit.Before;import org.junit.Test;@RunWith(PowerMockRunner.class)@PrepareForTest(AdminRequestContext.class)// 静态类publicclassAbsContractControllerTest{@InjectMocksprivate AbsContractController absContractController;@Mockprivate AbsContractService absContractService;@BeforepublicvoidbeforeClass(){// 自动将依赖的类注入待测类
        MockitoAnnotations.initMocks(this);}private MockHttpServletRequest request;private MockHttpServletResponse response;private MockHttpSession session;@BeforepublicvoidsetUp(){
        request=newMockHttpServletRequest();

        request.setCharacterEncoding("UTF-8");
        response=newMockHttpServletResponse();
        session=newMockHttpSession();}@TestpublicvoidtestSaveAftermodificationContractInfo(){try{

            UserEntity userDetails=newUserEntity();
            userDetails.setUserCode("111");
			
            PowerMockito.mockStatic(AdminRequestContext.class);when(AdminRequestContext.getUserDetails()).thenReturn(userDetails);

            AbsContractInfo absContractInfo=newAbsContractInfo();
            absContractController.saveAftermodificationContractInfo(absContractInfo);}catch(Exception e){
            System.out.println(e);}}}
  • 作者:duanchuanyong
  • 原文链接:https://blog.csdn.net/weixin_38711212/article/details/113697630
    更新时间:2022-07-10 11:48:53