Add logging on UnfinishedStubbingException

The test flakes with UnfinishedStubbingException, but the root cause
could not be identified. Add some logging to try to get more information
when that happens.

Bug: 195626111
Test: atest ConnectivityServiceTest

Change-Id: If12c1ea809789148ca9251386e5ee6ca6d74ff74
This commit is contained in:
Remi NGUYEN VAN
2021-08-23 06:37:21 +00:00
parent 507de1cac6
commit f68905683f

View File

@@ -350,8 +350,11 @@ import org.mockito.AdditionalAnswers;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.InOrder; import org.mockito.InOrder;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockingDetails;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.mockito.Spy; import org.mockito.Spy;
import org.mockito.exceptions.misusing.UnfinishedStubbingException;
import org.mockito.stubbing.Answer; import org.mockito.stubbing.Answer;
import java.io.FileDescriptor; import java.io.FileDescriptor;
@@ -1734,7 +1737,15 @@ public class ConnectivityServiceTest {
} }
private void returnRealCallingUid() { private void returnRealCallingUid() {
doAnswer((invocationOnMock) -> Binder.getCallingUid()).when(mDeps).getCallingUid(); try {
doAnswer((invocationOnMock) -> Binder.getCallingUid()).when(mDeps).getCallingUid();
} catch (UnfinishedStubbingException e) {
final MockingDetails details = Mockito.mockingDetails(mDeps);
Log.e("ConnectivityServiceTest", "UnfinishedStubbingException,"
+ " Stubbings: " + TextUtils.join(", ", details.getStubbings())
+ " Invocations: " + details.printInvocations(), e);
throw e;
}
} }
private ConnectivityService.Dependencies makeDependencies() { private ConnectivityService.Dependencies makeDependencies() {