mockito单元测试之静态方法

静态方法的测试

<!-- 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>
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static 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)// 静态类
public class AbsContractControllerTest {

    @InjectMocks
    private AbsContractController absContractController;

    @Mock
    private AbsContractService absContractService;

    @Before
    public void beforeClass() {
        // 自动将依赖的类注入待测类
        MockitoAnnotations.initMocks(this);
    }
    private MockHttpServletRequest request;
    private MockHttpServletResponse response;
    private MockHttpSession session;
    @Before
    public void setUp(){
        request = new MockHttpServletRequest();

        request.setCharacterEncoding("UTF-8");
        response = new MockHttpServletResponse();
        session = new MockHttpSession();

    }

    @Test
    public void testSaveAftermodificationContractInfo() {
        try {

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

            AbsContractInfo absContractInfo = new AbsContractInfo();
            absContractController.saveAftermodificationContractInfo(absContractInfo);
        }catch (Exception e){
            System.out.println(e);
        }
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值