You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Christo Lolov (Jira)" <ji...@apache.org> on 2023/02/08 09:41:00 UTC

[jira] [Assigned] (KAFKA-14682) Unused stubbings are not reported by Mockito during CI builds

     [ https://issues.apache.org/jira/browse/KAFKA-14682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christo Lolov reassigned KAFKA-14682:
-------------------------------------

    Assignee: Christo Lolov

> Unused stubbings are not reported by Mockito during CI builds
> -------------------------------------------------------------
>
>                 Key: KAFKA-14682
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14682
>             Project: Kafka
>          Issue Type: Test
>          Components: unit tests
>            Reporter: Chris Egerton
>            Assignee: Christo Lolov
>            Priority: Major
>
> We've started using [strict stubbing|https://javadoc.io/static/org.mockito/mockito-core/4.6.1/org/mockito/junit/MockitoJUnitRunner.StrictStubs.html] for unit tests written with Mockito, which is supposed to automatically fail tests when they set up mock expectations that go unused.
> However, these failures are not reported during Jenkins builds, even if they are reported when building/testing locally.
> In at least one case, this difference appears to be because our [Jenkins build|https://github.com/apache/kafka/blob/6d11261d5deaca300e273bebe309f9e4f814f815/Jenkinsfile#L32-L35] uses the custom {{unitTest}} and {{integrationTest}} tasks defined in the project's [Gradle build file|https://github.com/apache/kafka/blob/6d11261d5deaca300e273bebe309f9e4f814f815/build.gradle#L452-L543], instead of the {{test}} task. Some IDEs (such as IntelliJ) may use the latter instead of the former, which can cause tests to fail due to unnecessary stubbings when being run in that IDE but not when being built on Jenkins.
> It's possible that, because the custom test tasks filter out some tests from running, Mockito does not check for unnecessary stubbings in order to avoid incorrectly failing tests that set up mocks in, e.g., a {{@BeforeEach}} method.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)