小编Kam*_*arN的帖子

在静态方法中模拟UrlEncoder

我在模拟UrlEncode.encode方法时遇到了麻烦,该方法在静态方法中.

MyEncodeClass.java有这个方法

public static myEncode(String s) {
  UrlEncoder.encode(s, "utf-8");
}
Run Code Online (Sandbox Code Playgroud)

我想在调用UrlEncode.encode方法时强制抛出异常.

@Test(expect = UnsupportedEncodingException.class)
public void myTest() {
    PowerMockito.mockStatic(URLEncoder.class);        
    when(URLEncoder.encode("aa", "utf-8")).thenThrow(UnsupportedEncodingException.class);    
    MyEncodeClass.myEncode("aa");
}
Run Code Online (Sandbox Code Playgroud)

但我总是得到以下例外

Caused by: java.lang.NoSuchMethodError: org.mockito.mock.MockCreationSettings.isUsingConstructor()Z
Run Code Online (Sandbox Code Playgroud)

java junit mockito powermock

6
推荐指数
1
解决办法
3478
查看次数

标签 统计

java ×1

junit ×1

mockito ×1

powermock ×1