Join our Newsletter — 33% off our NHI Course
Foundations & NHI Taxonomy

Mockito

← Back to Glossary
By NHI Mgmt Group Updated September 27, 2026 Domain: Foundations & NHI Taxonomy

A Java mocking framework used to replace dependencies with controlled test doubles. It lets developers define expected method calls and return values, which isolates the unit under test and makes controller or service tests easier to validate deterministically.

What Mockito Is in Unit Testing

Mockito is a Java test double framework used to isolate code under test by replacing dependencies with controlled behaviour. It lets developers define expected calls, return values, and interaction verification so tests stay deterministic and focused on a single unit.

How Mockito Supports Isolated Tests

Mockito sits in the boundary between the class under test and its collaborators. Instead of exercising a database client, HTTP client, or service layer for real, a test can substitute a mock that returns known results and records how it was used.

This makes it easier to verify controller and service logic without being affected by external systems, timing, or shared state. The main value is not just convenience, but clearer test design, because the test is forced to express exactly which interactions matter.

Where Mockito Fits in the Test Pyramid

Mockito is most useful in unit tests, where fast feedback and strict isolation matter more than end-to-end realism. It helps separate unit-level behaviour from integration concerns, which reduces brittle tests that fail because of network availability, database data, or unrelated implementation details.

That same strength can become a weakness if mocking is overused. A test suite built entirely around mocks can pass even when real components no longer work together, so Mockito should support unit verification rather than replace integration coverage.

Common Mockito Patterns and Misuse

Typical Mockito usage includes stubbing return values, verifying that a method was called with the right arguments, and simulating error paths that are hard to trigger reliably in production dependencies. Those patterns are valuable when the dependency is outside the unit’s responsibility.

Misuse usually appears when tests mock the wrong layer, assert every interaction instead of meaningful behaviour, or mirror the implementation too closely. In those cases the test becomes brittle, and a small refactor can break it even though the observable behaviour has not changed.

Risk and Threat Considerations

Mockito itself is a testing tool, not a production control, but test-double misuse can create real software quality risk. If teams rely on mocks too heavily, tests may validate assumptions that do not hold in the real runtime, especially around serialization, error handling, or collaborator contracts.

Failure mechanism: Over-mocked tests can hide integration defects, false assumptions about dependency behaviour, and regressions that only appear when real systems interact.

Impact: Defects can escape into release builds despite a “green” test suite, increasing delivery risk and reducing confidence in automated verification.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP ASVS, OWASP SAMM and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP ASVSV15 — Secure Coding and ArchitectureMockito supports unit-level verification in software architecture and test design.
Recommendation — Use V15 to keep unit tests focused on observable behaviour rather than implementation detail.
OWASP SAMMS-SD — Security Requirements and DesignMockito is part of test design practice in the software delivery lifecycle.
Recommendation — Apply SAMM testing practices to balance mocks with integration coverage.
NIST CSF 2.0PR.IP-12 — Vulnerability MitigationReliable automated tests help detect regressions before release and support controlled change.
Recommendation — Use PR.IP-12 to validate changes with test coverage that reflects real system behaviour.

Practitioner Guidance

What to watch for: Use Mockito to isolate the unit, not to prove the world around it. If a test is asserting too many internal calls, or if every dependency is mocked by default, the test likely needs a higher-level check or a broader integration test to confirm real behaviour.

Practitioner takeaway: The best Mockito tests are narrow, intention-revealing, and resilient to refactoring because they verify outcomes that matter more than implementation detail.

Deepen Your Knowledge

Sign up to our weekly newsletter — get 33% off our NHI Foundation Level Course

    NHIMG Editorial Note
    Reviewed and updated by the NHIMG editorial team on September 27, 2026.
    NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org