mockit.Instantiation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jmockit Show documentation
Show all versions of jmockit Show documentation
JMockit is a Java toolkit for developer (unit/integration) testing.
It contains mocking APIs and other tools, supporting both JUnit and TestNG.
The mocking APIs allow all kinds of Java code, without testability restrictions, to be tested
in isolation from selected dependencies.
/*
* Copyright (c) 2006-2011 Rogério Liesenfeld
* This file is subject to the terms of the MIT license (see LICENSE.txt).
*/
package mockit;
/**
* Defines the lifetime of the instances automatically created for a {@linkplain MockClass mock class}.
*
* Tutorial
*/
public enum Instantiation
{
/**
* The mock class is instantiated once every time it's set up through a method like
* {@link mockit.Mockit#setUpMocks(Object...)}, or for each test class to which the mock class is applied through the
* {@link UsingMocksAndStubs} annotation.
*
* In the first case, the instance lifetime will be limited to the scope in which that set up applies: a single test
* method (if called directly from the test method or from a {@code setUp/@Before/@BeforeMethod} method), the whole
* test class (if called from a {@code @BeforeClass} method), or the whole test suite (if called from
* {@code @BeforeClass} method in a JUnit 4 {@code @Suite} class, for example).
*
* This same instance of the mock class is then used to redirect each call to a mocked method or constructor
* (provided the mock method is not static, of course).
*/
PerMockSetup,
/**
* The mock class is instantiated every time an instance mock method is about to be called from a mocked method in
* the real class; that is, each time a mocked method or constructor is executed, if it has a corresponding instance
* mock method.
*
* This new instance will be used only for that particular execution of the mocked method or constructor, being
* discarded as soon as the mock method returns from the call.
*/
PerMockInvocation,
/**
* A new instance of the mock class is created for each instance of the real class that was mocked, but only when the
* first instance mock method needs to be called from a mocked method or constructor.
*
* This same instance of the mock class is then used to redirect each call to a mocked instance method on the same
* instance of the real class (static mock methods are never called on any instance of the mock class, of course).
*/
PerMockedInstance
}