You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Patrick Rhomberg (JIRA)" <ji...@apache.org> on 2018/02/08 21:44:00 UTC
[jira] [Created] (GEODE-4642) PowerMock any() arguments in tests
can fail intermittently
Patrick Rhomberg created GEODE-4642:
---------------------------------------
Summary: PowerMock any() arguments in tests can fail intermittently
Key: GEODE-4642
URL: https://issues.apache.org/jira/browse/GEODE-4642
Project: Geode
Issue Type: Bug
Reporter: Patrick Rhomberg
See the Travis failure of PR #1415: https://travis-ci.org/apache/geode/builds/339119584?utm_source=github_status&utm_medium=notification
{noformat}
:geode-core:testPicked up _JAVA_OPTIONS: -Xmx1024m -Xms512m
org.apache.geode.cache.query.internal.types.TypeUtilsJUnitTest > getRegionEntryTypeShouldReturnTheProperTypeImplementation FAILED
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Misplaced or misused argument matcher detected here:
-> at org.apache.geode.cache.query.internal.types.TypeUtilsJUnitTest.lambda$booleanCompareShouldThrowExceptionIfValuesAreNotInstancesOfBoolean$7(TypeUtilsJUnitTest.java:441)
-> at org.apache.geode.cache.query.internal.types.TypeUtilsJUnitTest.lambda$booleanCompareShouldThrowExceptionIfValuesAreNotInstancesOfBoolean$8(TypeUtilsJUnitTest.java:444)
-> at org.apache.geode.cache.query.internal.types.TypeUtilsJUnitTest.lambda$booleanCompareShouldThrowExceptionIfValuesAreNotInstancesOfBoolean$9(TypeUtilsJUnitTest.java:447)
You cannot use argument matchers outside of verification or stubbing.
Examples of correct usage of argument matchers:
when(mock.get(anyInt())).thenReturn(null);
doThrow(new RuntimeException()).when(mock).someVoidMethod(anyObject());
verify(mock).someMethod(contains("foo"))
This message may appear after an NullPointerException if the last matcher is returning an object
like any() but the stubbed method signature expect a primitive argument, in this case,
use primitive alternatives.
when(mock.get(any())); // bad use, will raise NPE
when(mock.get(anyInt())); // correct usage use
Also, this error might show up because you use argument matchers with methods that cannot be mocked.
Following methods *cannot* be stubbed/verified: final/private/equals()/hashCode().
Mocking methods declared on non-public parent classes is not supported.
at org.apache.geode.cache.query.internal.types.TypeUtilsJUnitTest.getRegionEntryTypeShouldReturnTheProperTypeImplementation(TypeUtilsJUnitTest.java:429)
4020 tests completed, 1 failed, 8 skipped
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)