• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
返回主页

oyaimj

  • 博客园
  • 首页
  • 新随笔
  • 联系
  • 订阅
  • 管理

Mock

1,@PrepareForTest 出现时 @RunWith(PowerMockRunner.class) 必须出现.
2,代码中用到系统静态类 如:java.lang.System

public class SystemPropertyMockDemo {

public String getSystemProperty() throws IOException {

return System.getProperty("property");

}

}

@RunWith(PowerMockRunner.class)

@PrepareForTest({SystemPropertyMockDemo.class})//声明要Mock的类

public class SystemPropertyMockDemoTest {

@Test

public void demoOfFinalSystemClassMocking() throws Exception {

PowerMock.mockStatic(System.class);//Mock静态方法

EasyMock.expect(System.getProperty("property")).andReturn("my property");//录制Mock对象的静态方法

PowerMock.replayAll();//重放Mock对象

Assert.assertEquals("my property",

new SystemPropertyMockDemo().getSystemProperty());

PowerMock.verifyAll();//验证Mock对象

}

}

3,代码中用到用到另外一个类的私有方法。,@PrepareForTest中添加该类。

posted @ 2014-09-18 16:15  oyaimj  阅读(252)  评论(0)    收藏  举报
刷新页面返回顶部

公告

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3