https://stackoverflow.com/questions/26192929/unable-to-run-junit-test-with-powermockrunner
<powermock.version>1.6.0</powermock.version>
update to
<powermock.version>1.6.1</powermock.version>
2.PowerMockito mock 静态类时初始化内存,以下顺序不能更改第二行先mock Objects.nonNull,再到第三行设置一把静态类
PowerMockito.mockStatic(Objects.class);
BDDMockito.given(Objects.nonNull("META-INF/version.properties")).willReturn(false);
Whitebox.setInternalState(AppVersion.class, "VERSION_FILE_LOCATION", "None exist");
AppVersion appVersion = new AppVersion() {
};
测试类上面加注解
@RunWith(PowerMockRunner.class)
@PrepareForTest({AppVersion.class, Objects.class})
<!-- mockito -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<exclusions>
<exclusion>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${easymock.version}</version>
</dependency>
引用于:
mock 方法
https://stackoverflow.com/questions/21105403/mocking-static-methods-with-mockito
mock 静态属性
https://stackoverflow.com/questions/5385161/powermock-testing-set-static-field-of-class