mockit.Cascading Maven / Gradle / Ivy
/*
* Copyright (c) 2006-2012 Rogério Liesenfeld
* This file is subject to the terms of the MIT license (see LICENSE.txt).
*/
package mockit;
import java.lang.annotation.*;
/**
* Indicates a {@linkplain Mocked mocked type} where the return types of mocked methods get automatically
* mocked if and when an invocation to the method occurs, with a mocked instance being returned instead of {@code null}.
* Further invocations can then be made on the cascaded instances, with the cascading process repeating itself
* as needed.
*
* Methods returning {@code String}, primitive wrappers, or collection types are not considered for cascading.
*
* In a test having a cascading mocked type, a separate non-cascading mocked type can be used to record/verify
* expectations on intermediate cascaded instances.
*
* In the
* Tutorial
*
* Sample tests:
* BankBusinessTest,
* CascadingFieldTest
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface Cascading
{
}