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

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); } }

powermock单元测试小结的更多相关文章

  1. PowerMock单元测试踩坑与总结

    1.Mock是什么? 通过提供定制的类加载器以及一些字节码篡改技巧的应用,PowerMock 现了对静态方法.构造方法.私有方法以及 Final 方法的模拟支持,对静态初始化过程的移除等强大的功能. ...

  2. PowerMock单元测试

    在Java程序的单元测试中常用的mock工具有Mockito和EasyMock.但是这两种mock工具都无法实现对静态.final.私有方法或类的mock.因此有了功能强大的PowerMock工具.P ...

  3. Nodejs单元测试小结

    前言 最近在写一课程的Project,用Node写了一个实时聊天小应用,其中就用到了单元测试.在写Node单元测试的时候,一方面感受到了单元测试的重要性,另一方面感受到了Node单元测试的不够成熟,尚 ...

  4. 【转】Java JUnit 单元测试小结

    原文链接:https://segmentfault.com/a/1190000006731125 测试类型 单元测试(Unit test) 单元测试关注单一的类. 它们存在的目的是检查这个类中的代码是 ...

  5. django 单元测试小结

    测试的场景 框架Django1.8 测试工具 unittest, 要记得给test设置一个独特的settings. 测试请求 也就是测试整个view部分 官方案例 其中可能会遇到登录,或者时sessi ...

  6. nodejs--Nodejs单元测试小结

    前言 最近在写一课程的Project,用Node写了一个实时聊天小应用,其中就用到了单元测试.在写Node单元测试的时候,一方面感受到了单元测试的重要性,另一方面感受到了Node单元测试的不够成熟,尚 ...

  7. java单元测试小结

    1. mock 构造函数 import static org.junit.Assert.*; import java.util.ArrayList; import org.junit.Test; im ...

  8. 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用

    转 单元测试及框架简介 --junit.jmock.mockito.powermock的简单使用 2013年08月28日 14:33:06 luvinahlc 阅读数:6413 标签: 测试工具单元测 ...

  9. django单元测试

        django 单元测试小结 django 测试 从前很少写单元测试了,特别是web应用.最近不知不觉喜欢起来这个事情了,发现单元测试对于软件的模块,正交性有很大促进作用,因为函数,模块写的不合 ...

随机推荐

  1. Oracle查询所有表的字段明细

    SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序号, USER_TA ...

  2. The King’s Problem HDU - 3861(连通图 缩点 匹配)

    在一个王国里面, 国王有一个新的问题. 皇城中有N个城市M条单行路,为了让他的王国更加高效,国王想要将他的王国划分成几个州,每个城市必须属于一个州.对于两个城市(u,v),必须满足以下3个条件:   ...

  3. M-BM-

    今天拷贝了一段代码 struct    Test       {               Test(    int    )    {}               Test()    {}    ...

  4. [ZJOI2011]营救皮卡丘

    题目描述 皮卡丘被火箭队用邪恶的计谋抢走了!这三个坏家伙还给小智留下了赤果果的挑衅!为了皮卡丘,也为了正义,小智和他的朋友们义不容辞的踏上了营救皮卡丘的道路. 火箭队一共有N个据点,据点之间存在M条双 ...

  5. k-均值聚类算法1

    一.k-means算法: 1.优缺点: 优点:容易实现. 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢. 2.伪代码描述:

  6. 解决cuvid中的sample编译和链接问题

    unzip Video_Codec_SDK_9.0.20.zip cd Video_Codec_SDK_9.0.20/Samples/AppDecode/AppDecImageProvider vi ...

  7. mysql 修改表结构、表字段注释语句

    虽然现在有各种各样的工具可以直接对表结构进行修改,但是我还是喜欢使用语句进行修改.以下语句是对表增加字段.给字段加注释的语句 alter table orders add column isupdyq ...

  8. java异常和错误相关

    1.挺常见的一个问题,是个error java.lang.NoClassDefFoundError: 当目前执行的类已经编译,但是找不到它的定义时 也就是说你如果编译了一个类B,在类A中调用,编译完成 ...

  9. 你值得拥有的Mac PS滤镜插件和特效处理软件合集,不要错过!

    以下几款是Mac上强大的Photoshop滤镜插件和特效,可以让我们更加高效率的使用PS,设计和处理出精美的图片. 1. Alien Skin Eye Candy Eye Candy是一款强大酷炫的P ...

  10. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...