zoukankan      html  css  js  c++  java
  • powermock单元测试小结

      最近时不时的需要单元测试来写覆盖率。简单总结一下日常心得:

    1.首先指明需要测试的类:@PrepareForTest({ RewardGoldServiceImpl.class })

    2.其次在测试类中new出被测试对象:@InjectMocks
                                                              RewardGoldServiceImpl rewardGoldService = new RewardGoldServiceImpl(); 

    3.然后在遇到所需测试类中的dao方法时候,进行mock:@Mock
                                                                                         IDictionaryDao dictionaryDao;

                                                                      进行预加载类:@Before
                                                                                          public void init() {
                                                                                               MockitoAnnotations.initMocks(this);
                                                                                          }

    4.最后编写测试类进行测试,主体代码如下:

    @PrepareForTest({ RewardGoldServiceImpl.class })
    public class RewardGoldServiceImplTest {
        // 被测对象
        @InjectMocks
        RewardGoldServiceImpl rewardGoldService = new RewardGoldServiceImpl(); 
        /**
         * 字典表操作
         */
        @Mock
        IDictionaryDao dictionaryDao;
        
        @Mock
        IRewardGoldDao rewardGoldDao;
        
        @Before
        public void init() {
            MockitoAnnotations.initMocks(this);
        }
        
        @Test
        public void testGetSystemMoney(){
            String accountPeriod = "201812";
            String payMerchantCode = "7236402";
            List<DictionaryPo> dictionaryList = new ArrayList<DictionaryPo>();
            DictionaryPo dictionaryPo = new DictionaryPo();
            PowerMockito.when(dictionaryDao.getDictionaryByFieldName("freightBonusProductCode")).thenReturn(dictionaryList);
            dictionaryPo.setFieldID(1);
            dictionaryPo.setFieldName("111");
            dictionaryPo.setFieldValue("123");
            dictionaryList.add(dictionaryPo);
             
            rewardGoldService.getSystemMoney(accountPeriod, payMerchantCode);
            
        }
        
    
    }
  • 相关阅读:
    李开复:聪明人创业为何仍容易失败?
    七种公司永远做不大,十种老板永远不成功
    最优秀的创意来自留白
    七个图表解读VC们在种子轮融资的影响
    11款可以优化网站着陆页的工具
    O2O“世界大战”:美团全线开战,点评合纵连横
    初创企业网站如何在3天内获得10万浏览量
    “感谢”——新的意志力
    主动倾听的三个秘诀
    携程事件后,云运维的安全命题何解?
  • 原文地址:https://www.cnblogs.com/wangzhengyu/p/10482299.html
Copyright © 2011-2022 走看看