org.unitils.inject.annotation
Annotation Type InjectIntoStaticByType


@Target(value=FIELD)
@Retention(value=RUNTIME)
public @interface InjectIntoStaticByType

Annotation indicating that the InjectModule should try to inject the object assigned to the annotated field to a static property of the class defined by the target attribute.

Automatic injection by type is used, which means that a the object is injected to the most specific static property with an assignable type.

You can also specify what action needs to be performed after the test. Suppose, for example, that you want to mock a singleton instance by injecting the mock into the static singleton variable. After the test was performed, you typically want to restore the old (real) singleton value, so that the next test can run with the normal instance. This can be done by setting the resetType to the OLD_VALUE value. You can also specify that the static instance should be cleared by setting it to null (or 0) or just leave the injected value.

Author:
Filip Neven, Tim Ducheyne

Required Element Summary
 Class<?> target
          The target class to which the object referenced by the annotated field is injected
 
Optional Element Summary
 PropertyAccess propertyAccess
          The property access that is used for injection
 Restore restore
          The action that needs to be performed after the test was performed.
 

Element Detail

target

public abstract Class<?> target
The target class to which the object referenced by the annotated field is injected

Returns:
the target class, null for tested object

propertyAccess

public abstract PropertyAccess propertyAccess
The property access that is used for injection

Returns:
the access type, not null
Default:
org.unitils.inject.util.PropertyAccess.DEFAULT

restore

public abstract Restore restore
The action that needs to be performed after the test was performed. Should the old value be put back, should it be set to a java default value (null) or should nothing be done.

Returns:
the reset type, not null
Default:
org.unitils.inject.util.Restore.DEFAULT


Copyright © 2011. All Rights Reserved.