Kam*_*arN 6 java junit mockito powermock
我在模拟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)
ved*_*dat 17
这是因为PowerMockito和Mockito工件之间的版本冲突.新版本中删除了"MockCreationSettings.isUsingConstructor"方法,因此您需要确保使用的是正确的版本.例如,使用PowerMockito版本1.6.2与Mockito版本1.10.19(此版本有丢失的方法)
| 归档时间: |
|
| 查看次数: |
3478 次 |
| 最近记录: |