Mockito Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 4: Line 4:


=Overview=
=Overview=
The Mockito framework helps with the creation and management of external dependencies, and provides an API and annotations to create [[Mockito_Concepts#Managed_Test_Double|managed test doubles]], most often [[Software_Testing_Concepts#Mock|mock objects]]. Mockito works by dynamically creating proxies that intercept invocation into the [[Mockito_Concepts#Managed_Test_Double|managed test double]] objects and reacting the way they were programmed - return pre-defined answers, throw exceptions, verifying the invocation, etc. when the invocations are sent into the managed test doubles.
The Mockito framework helps with the creation and management of external dependencies, and provides an API and annotations to create [[Mockito_Concepts#Managed_Test_Double|managed test doubles]], most often [[Software_Testing_Concepts#Mock|mock objects]]. Mockito works by dynamically creating proxies that intercept invocation into the [[Mockito_Concepts#Managed_Test_Double|managed test double]] objects and reacting the way they were programmed - return pre-defined answers, throw exceptions, verifying the invocation, etc. when the invocations are sent into the managed test doubles. Mockito uses internally [[CGLib]] to create proxy stubs. CGLib is used to generate dynamic poxy objects and intercept field access.


=MockitoJUnitRunner=
=MockitoJUnitRunner=

Revision as of 23:20, 20 July 2021

Internal

Overview

The Mockito framework helps with the creation and management of external dependencies, and provides an API and annotations to create managed test doubles, most often mock objects. Mockito works by dynamically creating proxies that intercept invocation into the managed test double objects and reacting the way they were programmed - return pre-defined answers, throw exceptions, verifying the invocation, etc. when the invocations are sent into the managed test doubles. Mockito uses internally CGLib to create proxy stubs. CGLib is used to generate dynamic poxy objects and intercept field access.

MockitoJUnitRunner

Mockito.mock()

Programming Model | API

@Mock

Programming Model | Annotations

Can't Mock

  • Final classes
  • Final methods
  • Enums
  • Static methods
  • Private methods
  • hashCode() and equals() methods
  • Anonymous classes
  • Primitive types

PowerMock can mock these constructs.

Managed Test Double

A test double managed by Mockito. It can be created either via the API with Mockito.mock(<object>) or by annotating the field referencing the object in question with @Mock.

Mockito Stub

Mockito Programming Model | Implementing Stubs

Mockito Spy

Mockito Programming Model | Implementing Spys