使用泛型参数模拟静态方法

时间:2014-05-16 18:42:10

标签: java junit powermock

我正在尝试使用sigature

来模拟静态方法
 public static <T extends Object> T get( String name, Class<T> i )
  {
    return null
  }

我正在使用PowerMockito,下面是我预期的代码

PowerMockito.when(ClassName.class, "get", "name", Class.class).thenReturn("Hi");

但它的投掷

org.powermock.reflect.exceptions.MethodNotFoundException: No method found with name 'get' with parameter types: [ java.lang.String, java.lang.Class ]

任何人都可以通过powermockito

给出如何模拟这个的线索

1 个答案:

答案 0 :(得分:1)

  1. 您需要首先告诉Powermockito哪个类包含您想要模拟的 static 方法:

    PowerMockito.mockStatic(Classname.class);
    
  2. 然后您可以使用以下方法模拟方法:

    PowerMockito.when(Classname.get("name", Clas.class)).thenReturn("Hi");