开始使用

注: 内容翻译自官网文档 Getting Started

API's

PowerMock 包含两个扩展API。一个用于EasyMock,一个用于Mockito。为了使用PowerMock,需要依赖这两个API中的其中一个,此外还有测试框架。

当前 PowerMock 支持 Junit 和 TestNG。有三个不同的Junit test executor可用,一个用于Junit4.4+,一个用于Junit4.0到4.3,还有一个用于Junit 3.

有一个test executor用于TestNG,要求版本5.11+,取决于使用哪个版本的PowerMock。

注:由于我们现在使用的是junit最新版本4.12,因此只关注用于Junit4.4+的test executor。

编写测试

像这样编写测试:

@RunWith(PowerMockRunner.class)
@PrepareForTest( { YourClassWithEgStaticMethod.class })
public class YourTestCase {
...
}

注:PowerMock的案例代码是采用easymock编写,因此后面会自己用mockito编写一套自己的案例。

搭建Maven

注:重申,只关注 junit4.12 + mocktito 1.× + powermock 最新版本(1.6.5)

<properties>
    <powermock.version>1.6.5</powermock.version>
</properties>
<dependencies>
   <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
   </dependency>
   <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
   </dependency>
</dependencies>

其他特殊用法

注: 以下内容还没有仔细研究,后续再来一一琢磨。

需要和其他Junit Runner联合使用?

需要使用Juit Rule引导?

基于Java Agent的引导?

Copyright © www.gitbook.com/@herryZ 2016 all right reserved,powered by Gitbook该文件修订时间: 2017-03-13 05:37:11

results matching ""

    No results matching ""