Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用powerMockito模拟静态类_Java_Mockito_Powermockito - Fatal编程技术网

Java 如何使用powerMockito模拟静态类

Java 如何使用powerMockito模拟静态类,java,mockito,powermockito,Java,Mockito,Powermockito,您是否至少尝试过使用doReturn遵循异常消息中的示例?您的测试代码没有问题。显示您的ClassWithStatics。代码公共类ClassWithStatics{public static String getString(){return“111”}public static int getInt(){return 1;}}我认为post是基于它的?我的powermock是1.6.3,junit是4.12 @RunWith(PowerMockRunner.class) @PrepareFo


您是否至少尝试过使用
doReturn
遵循异常消息中的示例?您的测试代码没有问题。显示您的
ClassWithStatics
。代码公共类ClassWithStatics{public static String getString(){return“111”}public static int getInt(){return 1;}}我认为post是基于它的?我的powermock是1.6.3,junit是4.12
@RunWith(PowerMockRunner.class)
@PrepareForTest({ClassWithStatics.class})
public class mockTest  {
    @Test
    public void test() throws Exception {
        PowerMockito.mockStatic(ClassWithStatics.class);
           PowerMockito.when(ClassWithStatics.getString()).thenReturn("999");

    System.out.println("String: " + ClassWithStatics.getString());
    }
FAILED: test
org.mockito.exceptions.misusing.MissingMethodInvocationException: 
when() requires an argument which has to be 'a method call on a mock'.
For example:
    when(mock.getArticles()).thenReturn(articles);

Also, this error might show up because:
1. you stub either of: final/private/equals()/hashCode() methods.
   Those methods *cannot* be stubbed/verified.
   Mocking methods declared on non-public parent classes is not supported.
2. inside when() you don't call method on mock but on some other object.

at org.powermock.api.mockito.PowerMockito.when(PowerMockito.java:495)
at com.autoTest.servicetest.mockTest.test(mockTest.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)