{"record":{"id":"8350f810aa247bdb","repo":"mockito/mockito","slug":"mockshavetobepassedtoverifynomoreinteractions","errorCode":null,"errorMessage":"mocksHaveToBePassedToVerifyNoMoreInteractions()","messagePattern":"mocksHaveToBePassedToVerifyNoMoreInteractions\\(\\)","errorType":"exception","errorClass":"Reporter-method","httpStatus":null,"severity":"error","filePath":"mockito-core/src/main/java/org/mockito/internal/MockitoCore.java","lineNumber":244,"sourceCode":"                VerificationDataImpl data = new VerificationDataImpl(invocations, null);\n                noInteractions().verify(data);\n            } catch (NotAMockException e) {\n                throw notAMockPassedToVerifyNoMoreInteractions();\n            }\n        }\n    }\n\n    public void verifyNoMoreInteractionsInOrder(List<Object> mocks, InOrderContext inOrderContext) {\n        mockingProgress().validateState();\n        VerificationDataInOrder data =\n                new VerificationDataInOrderImpl(\n                        inOrderContext, VerifiableInvocationsFinder.find(mocks), null);\n        VerificationModeFactory.noMoreInteractions().verifyInOrder(data);\n    }\n\n    private void assertMocksNotEmpty(Object[] mocks) {\n        if (mocks == null || mocks.length == 0) {\n            throw mocksHaveToBePassedToVerifyNoMoreInteractions();\n        }\n    }\n\n    private void assertNotStubOnlyMock(Object mock) {\n        if (getMockHandler(mock).getMockSettings().isStubOnly()) {\n            throw stubPassedToVerify(mock);\n        }\n    }\n\n    public InOrder inOrder(Object... mocks) {\n        if (mocks == null || mocks.length == 0) {\n            throw mocksHaveToBePassedWhenCreatingInOrder();\n        }\n        for (Object mock : mocks) {\n            if (mock == null) {\n                throw nullPassedWhenCreatingInOrder();\n            }\n            if (!isMock(mock)) {","sourceCodeStart":226,"sourceCodeEnd":262,"githubUrl":"https://github.com/mockito/mockito/blob/5a676bcd9ef9a10db46e1dc34e190eb46faa2687/mockito-core/src/main/java/org/mockito/internal/MockitoCore.java#L226-L262","documentation":"assertMocksNotEmpty() throws MockUtil-provided MockitoException (mocksHaveToBePassedToVerifyNoMoreInteractions) when verifyNoMoreInteractions() or verifyNoInteractions() is called with a null array or an empty varargs list. Interaction verification is meaningless without at least one mock, so Mockito fails fast with a descriptive exception instead of silently passing.","triggerScenarios":"Mockito.verifyNoMoreInteractions(); verifyNoInteractions(); verifyNoMoreInteractions((Object[]) null); or spreading an empty array: verifyNoMoreInteractions(collectedMocks.toArray()) where collectedMocks is empty.","commonSituations":"A test helper that accumulates mocks into a list that ends up empty because the mocked collaborators were removed in a refactor; conditional test setups where no mocks are registered but a shared teardown still calls verifyNoMoreInteractions; accidental empty varargs after removing arguments.","solutions":["Pass at least one actual mock to the call; if the test has no collaborators, delete the verifyNoMoreInteractions/verifyNoInteractions statement.","In shared base-test teardown code, guard the call: if (!mocks.isEmpty()) Mockito.verifyNoMoreInteractions(mocks.toArray());","Re-add the missing mock registration (@Mock fields / Mockito.mock) if the empty list indicates broken wiring rather than intent."],"exampleFix":"// before\nMockito.verifyNoMoreInteractions(); // nothing passed\n\n// after\nif (!mocks.isEmpty()) {\n    Mockito.verifyNoMoreInteractions(mocks.toArray());\n}","handlingStrategy":"validation","validationCode":"if (mocks == null || mocks.length == 0) {\n    return; // nothing to verify — skip instead of calling Mockito\n}\nMockito.verifyNoMoreInteractions(mocks);","typeGuard":null,"tryCatchPattern":"try {\n    Mockito.verifyNoMoreInteractions(mocks);\n} catch (MockitoException e) {\n    assumeTrue(\"No mocks registered in this test configuration\", false);\n}","preventionTips":["Only call verifyNoMoreInteractions/verifyNoInteractions when at least one mock was registered.","Guard shared base-class teardown with an isEmpty check on the mock collection.","If the list is unexpectedly empty, treat it as wiring failure: assert the collection is non-empty first."],"tags":["mockito","empty-arguments","verify-no-more-interactions","test-setup"],"backgroundTag":"mockito-empty-varargs","analyzedSha":"5a676bcd9ef9a10db46e1dc34e190eb46faa2687","analyzedAt":"2026-09-05T19:32:58.607Z","contentChangedAt":"2026-09-05T19:32:58.607Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}