首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

powermock模拟私有步骤

2012-11-04 
powermock模拟私有方法在单元测试中,有时候需要模拟一个类的私有方法,powermock提供了这样的功能以下是要

powermock模拟私有方法

在单元测试中,有时候需要模拟一个类的私有方法,powermock提供了这样的功能

以下是要测试的类

public class CalcService {       public int increase(int i){           return i+j(i);       }            private int j(Integer j){           return j;       }}

?

以下是测试类

import org.easymock.EasyMock;import org.junit.Test;import org.powermock.modules.junit4.PowerMockRunner;import org.junit.runner.RunWith;import org.powermock.core.classloader.annotations.PrepareForTest;import com.tdd.powermock.CalcService;import static org.junit.Assert.assertTrue;import static org.powermock.api.easymock.PowerMock.*;@RunWith(PowerMockRunner.class)@PrepareForTest(CalcService.class)public class CalcServiceTest {    @Test    public void testIncrease() throws Exception{        int expected=3;        CalcService tested = createPartialMock(CalcService.class, "j");        expectPrivate(tested, "j",1).andReturn(2);        replay(tested);        assertTrue(expected==tested.increase(1));        verify(tested);            }}

?

这些代码很简单,相信很容易看懂,另外需要的jar包如下,以maven来添加依赖

<dependency><groupId>org.easymock</groupId><artifactId>easymock</artifactId><version>3.1</version><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8</version></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-module-junit4</artifactId><version>1.4.10</version><scope>test</scope></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-api-easymock</artifactId><version>1.4.10</version><scope>test</scope></dependency>
?

?

热点排行