- 浏览: 2097317 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (366)
- hadoop (91)
- DB (2)
- vmware (0)
- python (49)
- Java (72)
- Linux (57)
- 多线程 (2)
- hive (1)
- hbase (3)
- mongodb (5)
- Hibernate (3)
- nodejs (1)
- 模式与重构 (1)
- 持续集成CI (4)
- Mysql (2)
- chorme (1)
- 软件开发 (0)
- 敏捷 (5)
- maven (3)
- windows (7)
- 测试驱动 (1)
- scala (3)
- Jetty (0)
- android (1)
- eclipse (1)
- 设计模式 (1)
- 面向对象设计 (2)
- oracle (3)
- cassandra (15)
- pig (3)
- rails (1)
- redis (4)
- ruby (1)
- storm (0)
- 实时运算 (3)
- scribe (1)
- hadoop源码 (3)
- cassandra jna (1)
- Kafka (2)
- Sublime (2)
- C++ (2)
- C (1)
- 版本控制 (1)
- 服务器 (1)
- docker (0)
- flink (1)
最新评论
-
伍大都督:
解释太到位了,感谢分享
理解Linux系统中的load average(图文版) -
rfjian123:
非常感谢,用你的方法解决了问题。
Server sent unexpected return value (403 Forbidden) in response to OPTIONS -
yuhaifei12:
今天遇到同样的问题了。设置的是每分钟执行一次。结果发现每分钟执 ...
解决Linux下crontab同一时间重复执行问题 -
BigBird2012:
想问一下,使用ExecutorService每次都要调用 sh ...
spring quartz使用多线程并发“陷阱” -
zhuqx1130:
有用,谢谢
解决Sublime Text 3中文显示乱码(tab中文方块)问题
import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) @PrepareForTest({ MyClass.class}) public class StaticClassSampleTest { @Test public void testPrivateMethod() throws Exception { // 模拟 private的方法 MyClass spy = PowerMockito.spy(new MyClass()); PowerMockito.doReturn(3).when(spy, "private_method", 1); Assert.assertEquals(3, spy.test_private_method(1)); PowerMockito.verifyPrivate(spy, Mockito.times(1)).invoke("private_method", 1); } @Test public void testStaticReturnMethod() throws Exception { // 模拟 静态有返回值的方法 PowerMockito.mockStatic(MyClass.class); Mockito.when(MyClass.static_return_method()).thenReturn(2); Assert.assertEquals(2, MyClass.static_return_method()); } @Test public void testVoidMethod() throws Exception { // 模拟 不执行void的方法 MyClass spy = PowerMockito.spy(new MyClass()); PowerMockito.doNothing().when(spy).void_method(); spy.void_method(); } @Test public void testStaticMethod1() throws Exception { // 模拟 不执行没参数的静态void的方法 PowerMockito.mockStatic(MyClass.class); PowerMockito.doNothing().when(MyClass.class, "static_void_method"); MyClass.static_void_method(); } @Test public void testStaticMethod2() throws Exception { // 模拟 不执行带参数的静态void的方法 PowerMockito.mockStatic(MyClass.class); PowerMockito.doNothing().when(MyClass.class, "staticMethod", "123"); MyClass.staticMethod("123"); PowerMockito.doNothing().when(MyClass.class, "staticMethod", Mockito.anyString()); MyClass.staticMethod("456"); } } class MyClass { final private int private_method(int a) { return a; } public int test_private_method(int a) { return private_method(a); } public static int static_return_method() { return 1; } void void_method() { throw new IllegalStateException("should not go here"); } public static void static_void_method() { throw new IllegalStateException("should not go here"); } public static void staticMethod(String a) { throw new IllegalStateException(a); } }
附上maven依赖
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.5</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.4.10</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.10</version>
</dependency>
转自:http://jh108020.iteye.com/blog/1462494
发表评论
-
shell下使用log4j 1.x “No appenders could be found for logger”问题两个处理办法
2018-05-25 23:25 1647错误: log4j:WARN No appenders c ... -
通过java class文件确定其编译器版本
2016-06-23 10:45 1076方法一: hexdump -C XXX.class ... -
字符编码笔记:ASCII,Unicode和UTF-8(转)
2014-11-06 17:29 1242今天中午,我突然想搞 ... -
Server sent unexpected return value (403 Forbidden) in response to OPTIONS
2014-10-10 15:01 5558之前用的好好的,忽然某天再次svn up时候就报下面的错误: ... -
netbeans下优秀sublinme主题
2014-09-29 10:13 3636推荐站点:http://netbeansthemes.com ... -
将netbeans项目放到jenkins上做持续集成
2014-07-25 15:20 1233netbeans项目本质是通过ANT来管理的,只不 ... -
关于jvm中Xmx参数默认值
2014-05-08 09:19 2023我的机器win7 64bit 8GB内存,通过jconso ... -
Eclipse代码自动完成功能无法使用问题记录
2014-04-28 10:15 1156使用Alt+/无法补齐Java代码,现象时没有反应。解决方 ... -
thrift0.9.1简单教程(包含Java服务端和Java、python客户端)
2014-04-25 15:55 6414一、Thrift Java服务端和客户端 官 ... -
使用sublime text3开发scala
2014-04-04 16:49 3787打开菜单栏Tool->build system-> ... -
netbeans下打开本地文件夹插件(explorer)
2014-04-02 14:44 20321. 在线安装 工具->插件->可用插 ... -
关闭Sublime自动更新
2014-03-09 21:42 850每次启动都提示更新,可以关闭它。 找到Prefere ... -
使用log4j.properties配置slf4j输出LOG
2014-01-09 08:57 6657完成配置需要以下文件: slf4j-log4j12-x ... -
正确使用java -cp通配符
2013-11-21 17:05 10200JDK6支持java -cp后面跟通配符'*',试了一下发 ... -
强制Java使用东八时区方法
2013-11-15 15:37 1838今天线上有台服务器时区错误,导致很多使用new Da ... -
谨慎使用java的PrintWriter类
2013-10-23 12:31 1369public void test() throws Fil ... -
记录Java ShutdownHook
2013-08-30 11:40 1076public class TestMe { stat ... -
eclipse + maven + jetty + spring web 开发环境简要笔记
2013-08-27 11:25 1613环境准备 确保安装maven3 确保安装eclip ... -
Eclipse(IDE for Java Developers)、maven、jetty、spring web集成
2013-08-27 08:53 0方法一: http://wiki.eclipse.o ... -
关于数据压缩
2013-08-23 14:26 1139常用压缩 quicklz zlib snappy/ ...
相关推荐
在实际使用中,我们需要谨慎地应用 PowerMock,因为它可能会掩盖代码设计的问题。尽可能保持代码的可测试性,只有在必要时才使用这种高级模拟技术。此外,使用 PowerMock 可能会使测试变得更复杂,需要更多的时间去...
在实际应用中,要使用PowerMock,你需要在项目的构建配置中添加这些JAR依赖,然后在测试类上使用注解如`@RunWith(PowerMockRunner.class)`和`@PrepareForTest`来启用PowerMock的功能。接着,你可以使用Mockito的语法...
11. **总结**:最后,课程会回顾整个PowerMock的学习过程,强调关键点,并给出实际应用中的最佳实践建议。 通过这些实战教程,开发者能够有效地利用PowerMock进行复杂场景的单元测试,提高测试覆盖率,保证代码质量...
PowerMock是一个强大的Java单元测试框架,它允许测试代码中静态方法、私有方法以及final类的模拟...通过阅读本书,读者可以掌握使用PowerMock进行高效单元测试的技巧,并在实际开发工作中应用这些知识,提高代码质量。
在实际应用中,我们可以使用PowerMock和Mockito的组合来模拟那些难以测试的场景,例如: 1. **模拟静态方法**:静态方法通常与具体的实现紧密绑定,不容易被替换。PowerMock允许我们创建mock的静态方法,从而在测试...
PowerMock 是一个强大的Java单元测试框架的扩展,它允许开发者模拟静态方法、构造函数、final 类、enum 和...如果你在IBM DeveloperWorks找到的资源能够提供详细的教程和示例,那么对于学习和应用PowerMock将大有裨益。
当与PowerMock和EasyMock结合时,JUnit可以更全面地测试复杂的应用程序。 在"powermock-easymock-junit-1.5.4.zip"这个压缩包中,可能包含以下内容: 1. PowerMock的核心库:powermock-api-easymock、powermock-...
在与Mockito和PowerMock结合使用时,JUnit提供了一个执行测试的平台,开发者可以在其中应用mocking和模拟技术来验证代码的正确性。 在下载的压缩包中,可能包含以下内容: - PowerMock-Mockito的jar文件:这些文件...
6. **Examples in the Archive**: "PowerMockStudy"这个文件夹可能包含了各种示例代码,这些代码展示了上述所有概念的实际应用。每个示例通常包括测试类和被测试类,以及具体的PowerMock配置和使用。通过仔细研究...
通过提供定制的类加载器以及一些字节码篡改技巧的应用,PowerMock 现了对静态方法、构造方法、私有方法以及 Final 方法的模拟支持,对静态初始化过程的移除等强大的功能。因为 PowerMock 在扩展功能时完全采用和被...
在实际应用中,我们通常会按照以下步骤进行: 1. 引入PowerMock和EasyMock的依赖到项目中,这可以通过Maven或Gradle等构建工具实现。 2. 使用`@RunWith(PowerMockRunner.class)`注解标记测试类,表示我们要使用...
除了`@RunWith`,还可以使用`PowerMockRule`作为测试规则,它可以提供更细粒度的控制,只在特定测试方法中应用PowerMock的功能。 10. **`verifyStatic`** PowerMockito的`verifyStatic`方法用于验证静态方法是否...
PowerMock和EasyMock是Java单元测试领域中的两个重要工具,它们允许开发者模拟和控制对象...通过深入研究这些文档,开发者可以更好地掌握如何有效地在自己的项目中应用PowerMock和EasyMock,从而提升测试的质量和效率。
### PowerMock介绍 ...文中还强调了编程知识与实际应用的关系,以及面对英语阅读难题时如何寻找帮助。最后,作者通过自身经验,强调了总结与分享的重要性,以及如何通过写书的方式帮助他人,同时促进自我成长。
标题 "powermock-module-testng-common-1.5.4.zip" 暗示这是一个与PowerMock相关的库,特别地,是针对TestNG测试框架的模块。PowerMock是一个强大的Java单元测试工具,它允许开发者模拟静态方法、构造函数、final类...
然而,当涉及到静态方法时,由于它们属于类级别而非实例级别,常规的依赖注入和模拟策略就无法应用。PowerMock通过字节码操作技术,允许我们模拟静态方法的行为,从而在测试中控制其返回值或行为。 对于private方法...
该项目的目的是向开发者展示 PowerMock 的基本用法和常见应用场景,帮助他们更好地理解和掌握这一工具。 首先,我们需要了解 PowerMock 的核心概念: 1. **类模拟(Class Mocking)**:允许模拟 final 类和无法实例...
PowerMock的核心功能在于其能够通过提供定制的类加载器和应用一些字节码操作技巧,实现对静态方法、构造方法、私有方法和final方法的模拟。例如,在进行单元测试时,有时候我们并不希望测试数据进入实际的数据库,...
综上所述,"powermock-examples-documentationexamples-1.4.10.zip" 提供的资源对于学习和使用PowerMock进行单元测试非常有价值,同时proxy-servlet.zip 则为解决GWT应用的跨域问题提供了实用的解决方案。...