Module org.easymock

Class Injector


public class Injector extends Object
Performs creation of mocks and injection into test subjects in accordance with annotations present in the host object.
Henri Tremblay, Alistair Todd
  • Constructor Details

    • Injector

      public Injector()
  • Method Details

    • injectMocks

      public static void injectMocks(Object host)
      Inject a mock to every fields annotated with Mock on the class passed in parameter. Then, inject these mocks to the fields of every class annotated with TestSubject.

      The rules are

      • Static and final fields are ignored
      • If two mocks have the same field name, return an error
      • If a mock has a field name and no matching field is found, return an error
      Then, ignoring all fields and mocks matched by field name
      • If a mock without field name can be assigned to a field, do it. The same mock can be assigned more than once
      • If no mock can be assigned to a field, skip the field silently
      • If the mock cannot be assigned to any field, skip the mock silently
      • If two mocks can be assigned to the same field, return an error
      Fields are searched recursively on the superclasses

      Note: If the parameter extends EasyMockSupport, the mocks will be created using it to allow replayAll/verifyAll to work afterwards

      host - the object on which to inject mocks