我有一个带有静态方法的实用程序类
public class A {
public static boolean test1(){
// Do something
return true;
}
}
我正在尝试使用Powermockito模拟test1并使用TestNG进行测试
@PrepareForTest(A.class)
public class UnitTest{
@Test
public void testTest1() {
PowerMockito.mockStatic(A.class);
when(A.test1()).thenReturn(false);
}
}
https://code.google.com/p/powermock/wiki/TestNG_usage 描述我这样做。
然而,在“when(A.test1())。thenReturn(false);”它在test1()方法的Mockito.when设置期间调用实际方法test1()。因此,我认为设置没有在它无法将A类识别为模拟
的情况下完成我在这里做错了吗?
我在pom.xml中的依赖关系 -
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<scope>test</scope>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-testng</artifactId>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
答案 0 :(得分:1)
在Damien Beaufils的评论之后,我试图谷歌更多,最后在powermock问题谷歌小组描述同样的问题发现了一个帖子。
解决方案是你测试应该扩展PowerMockTestCase(从testng powermock模块导入,即org.powermock.modules.testng)
更多信息 - code.google.com/p/powermock/issues/detail?id=54#c9