Skip to content

Commit

Permalink
Add example failing test for issue mockito#2656
Browse files Browse the repository at this point in the history
Example failing test for mockito#2656
  • Loading branch information
big-andy-coates committed May 31, 2022
1 parent e5a06c5 commit 2f4701e
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
@@ -0,0 +1,11 @@
package org.mockitousage;

import java.util.function.Predicate;

public class ProductionCode {

@SuppressWarnings("ReturnValueIgnored")
public static void simpleMethod(Predicate<String> mock, String argument) {
mock.test(argument);
}
}
Expand Up @@ -21,7 +21,9 @@
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;

import java.util.Optional;
import java.util.function.Function;
import java.util.function.Predicate;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
Expand Down Expand Up @@ -162,6 +164,29 @@ void inherits_strictness_from_base_class() {
assertThat(result.getStatus()).isEqualTo(TestExecutionResult.Status.SUCCESSFUL);
}

@ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
static class LenientMockitoSettings {

@Mock
private Predicate<String> rootMock;

@Test
void should_not_throw_on_potential_stubbing_issue() {
Mockito.doReturn(true).when(rootMock).test("Foo");

ProductionCode.simpleMethod(rootMock, "Bar");
}
}

@Test
void use_strictness_from_settings_annotation() {
TestExecutionResult result = invokeTestClassAndRetrieveMethodResult(LenientMockitoSettings.class);

assertThat(result.getThrowable()).isEqualTo(Optional.empty());
assertThat(result.getStatus()).isEqualTo(TestExecutionResult.Status.SUCCESSFUL);
}

private TestExecutionResult invokeTestClassAndRetrieveMethodResult(Class<?> clazz) {
LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
.selectors(
Expand Down

0 comments on commit 2f4701e

Please sign in to comment.