aboutsummaryrefslogtreecommitdiff
path: root/java/com
diff options
context:
space:
mode:
authorFelipe Leme <felipeal@google.com>2023-12-06 15:15:51 -0800
committerFelipe Leme <felipeal@google.com>2023-12-06 23:20:34 +0000
commit164d79605ef6f5bda643a9bd9692c037c9b041fe (patch)
tree79314a771a745283566abd90d68c4668bf7e5b76 /java/com
parentf451d48649cc8ce740f270107f72931992fbedc5 (diff)
downloadmodules-utils-164d79605ef6f5bda643a9bd9692c037c9b041fe.tar.gz
Added AbstractExtendedMockito.getClearInlineMethodsAtTheEnd().
Test: atest ModulesUtilsTestingTests:ExtendedMockitoRuleTest Bug: 315196012 Change-Id: I8583fc74d1350511e00222164a42a2be0f4c4266
Diffstat (limited to 'java/com')
-rw-r--r--java/com/android/modules/utils/testing/AbstractExtendedMockitoRule.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/java/com/android/modules/utils/testing/AbstractExtendedMockitoRule.java b/java/com/android/modules/utils/testing/AbstractExtendedMockitoRule.java
index 594551c..1bb8364 100644
--- a/java/com/android/modules/utils/testing/AbstractExtendedMockitoRule.java
+++ b/java/com/android/modules/utils/testing/AbstractExtendedMockitoRule.java
@@ -133,8 +133,16 @@ public abstract class AbstractExtendedMockitoRule<R extends AbstractExtendedMock
return Collections.unmodifiableSet(staticClasses);
}
-
-
+ /**
+ * Gets whether the rule should clear the inline mocks after the given test.
+ *
+ * <p>By default, it returns {@code} (unless the rule was built with
+ * {@link AbstractBuilder#dontClearInlineMocks()}, but subclasses can override to change the
+ * behavior (for example, to decide based on custom annotations).
+ */
+ protected boolean getClearInlineMethodsAtTheEnd(Description description) {
+ return mClearInlineMocks;
+ }
@Override
public Statement apply(Statement base, Description description) {
@@ -247,12 +255,13 @@ public abstract class AbstractExtendedMockitoRule<R extends AbstractExtendedMock
}
}
} finally {
- clearInlineMocks();
+ clearInlineMocks(description);
}
}
- private void clearInlineMocks() {
- if (!mClearInlineMocks) {
+ private void clearInlineMocks(Description description) {
+ boolean clearIt = getClearInlineMethodsAtTheEnd(description);
+ if (!clearIt) {
Log.d(TAG, "NOT calling clearInlineMocks() as set on builder");
return;
}