mockito springtest junit

利用mockito 进行单元测试  案例

pom文件配置






package test;

代码



import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.mockito.InjectMocks;

import org.mockito.Matchers;

import org.mockito.Mock;

import org.mockito.Mockito;

import org.mockito.MockitoAnnotations;

import org.springframework.test.context.ActiveProfiles;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.unicompayment.fup.api.FUPSysFacade;

import com.unicompayment.fup.api.dto.FupFundBuyReq;

import com.unicompayment.fup.api.dto.FupFundBuyResp;

import com.unicompayment.fup.api.dto.FupResHeadInfo;

import com.unicompayment.fup.common.constants.FUPConstants;

import com.unicompayment.xcsp.api.dto.XCSPPayReq;

import com.unicompayment.xcsp.api.dto.XCSPPayResp;

import com.unicompayment.xcsp.bps.facade.impl.XCSPSysFacadeImpl;

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = "classpath:spring-context.xml")

//加载配置

@ActiveProfiles("development")

public class XSPSysFacadeImplTest {

@InjectMocks

XCSPSysFacadeImpl xcsSysFacade = new XCSPSysFacadeImpl();

@Mock

FUPSysFacade fupSysFacade;

@Before

public void setUp() {

MockitoAnnotations.initMocks(this);

}

@Test

public void payTestSuccess() {

FupFundBuyReq ffbReq = new FupFundBuyReq();

FupFundBuyResp ffbResp = new FupFundBuyResp();

ffbResp.setResCode(FupResHeadInfo.RESP_SUCCESS_CODE);

ffbResp.setResDesc("success");

ffbResp.setTradeCfmDate("123123");

ffbResp.setShowIncomeDate("1111111");

Mockito.when(this.fupSysFacade.fundBuy((FupFundBuyReq) Matchers.anyObject())).thenReturn(ffbResp);

XCSPPayReq req = new XCSPPayReq();

req.setUserNo("123123");

req.setFundCode("12312");

req.setAssetType("C");

req.setProtocolNoEnc("123121321");

req.setAmount(100L);

XCSPPayResp resp = this.xcsSysFacade.pay(req);

Assert.assertNotNull(resp);

Assert.assertEquals("预期返回0000", FUPConstants.TRADE_RETURN_CODE_NUOAN_S,

resp.getResCode());

Assert.assertEquals("预期返回123123", "123123",

resp.getTradeCfmDate());

Assert.assertEquals("预期返回1111111", "1111111",

resp.getShowIncomeDate());

}

@Test

public void payTestFail() {

FupFundBuyReq ffbReq = new FupFundBuyReq();

FupFundBuyResp ffbResp = new FupFundBuyResp();

ffbResp.setResCode(FupResHeadInfo.RESP_SYSERROR_CODE);

ffbResp.setResDesc("fail");

Mockito.when(this.fupSysFacade.fundBuy((FupFundBuyReq) Matchers.anyObject())).thenReturn(ffbResp);

XCSPPayReq req = new XCSPPayReq();

req.setUserNo("123123");

req.setFundCode("12312");

req.setAssetType("C");

req.setProtocolNoEnc("123121321");

req.setAmount(100L);

XCSPPayResp resp = this.xcsSysFacade.pay(req);

Assert.assertNotNull(resp);

Assert.assertEquals("预期返回9999", FupResHeadInfo.RESP_SYSERROR_CODE,

resp.getResCode());

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,253评论 19 139
  • 注意事项: 测试方法上必须使用@Test修饰 测试方法必须使用public void进行修饰,不能带任何参数 新建...
    鲁克巴克诗阅读 1,809评论 0 3
  • 从去年十一国庆节和中学的好友一起去电影院看了《心花路放》这部电影,宁浩这个名字我就记住了,那之后我回来在网上百度了...
    凉花城阅读 1,237评论 0 1
  • 小长假,没回家,于是我们打算找个地方放松身心,也奖励自己前段时间的忙碌工作,生活总是张弛结合,才好~~ 清幽、秀美...
    sunsmile笑忘书阅读 251评论 0 1
  • 有一种感动,叫做忘川,有一种相思,叫做人生再见,希望多渺茫,人生多难忘。人情是一种缘,人心是一种梦,爱有多浓,人有...
    420_c644阅读 413评论 0 0