我在测试方法之外有以下方法
private DynamicBuild getSkippedBuild() {
DynamicBuild build = mock(DynamicBuild.class);
when(build.isSkipped()).thenReturn(true);
return build;
}
Run Code Online (Sandbox Code Playgroud)
但是当我调用这个方法时,我得到以下错误
org.mockito.exceptions.misusing.UnfinishedStubbingException:
Unfinished stubbing detected here:
-> at LINE BEING CALLED FROM
E.g. thenReturn() may be missing.
Examples of correct stubbing:
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();
Hints:
1. missing thenReturn()
2. you are trying to stub a final method, you naughty developer!
Run Code Online (Sandbox Code Playgroud)
当你在测试方法之外存在时,看起来mockito不高兴.这不受支持吗?
编辑:我可以通过在@Test方法中进行存根来实现这一点,但我想在@Tests中重用存根.
axt*_*avt 14
如果isSkipped()不是final方法,则此问题可能表示您尝试在另一个方法的存根正在进行时存根方法.它不受支持,因为Mockito依赖when()于其存根API中的方法调用(等)的顺序.
我想你的测试方法中有这样的东西:
when(...).thenReturn(getSkippedBuild());
Run Code Online (Sandbox Code Playgroud)
如果是这样,您需要重写如下:
DynamicBuild build = getSkippedBuild();
when(...).thenReturn(build);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6512 次 |
| 最近记录: |