Class Log4jMockPolicy
- java.lang.Object
-
- org.powermock.api.easymock.mockpolicies.Log4jMockPolicy
-
- All Implemented Interfaces:
PowerMockPolicy
public class Log4jMockPolicy extends Object
A log4j mock policy. This mock policy deals with solving log4j related mocking issues. It takes care of loading all concerned log4j classes through the correct class-loader and automatically prepares and injects logger instances. This policy does the following:- Prepares all log4j classes and interfaces for testing.
- All calls to the org.apache.log4j.Logger#getLogger(..) methods are intercepted and returns a nice mock of type org.apache.log4j.Logger.
-
-
Constructor Summary
Constructors Constructor Description Log4jMockPolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyClassLoadingPolicy(MockPolicyClassLoadingSettings settings)
Apply all class-loading related policies that must be present before the interception policies can take place.void
applyInterceptionPolicy(MockPolicyInterceptionSettings settings)
Apply the interception policies, for example which methods that should be suppressed or which methods that should be intercepted and return some else than their original value.protected String[]
getFullyQualifiedNamesOfClassesToLoadByMockClassloader()
Loads all log4j classes with the mock classloader.protected String
getLogFrameworkName()
protected String
getLoggerClassToMock()
protected String
getLoggerFactoryClassName()
protected String
getLoggerMethodName()
-
-
-
Method Detail
-
getFullyQualifiedNamesOfClassesToLoadByMockClassloader
protected String[] getFullyQualifiedNamesOfClassesToLoadByMockClassloader()
Loads all log4j classes with the mock classloader.- Returns:
- The fully-qualified names of the classes that should be loaded by the mock classloader.
-
getLogFrameworkName
protected String getLogFrameworkName()
- Returns:
- The name of the log framework. Used in error messages, for
example if the
getLoggerFactoryClassName()
cannot be found in the classpath.
-
getLoggerClassToMock
protected String getLoggerClassToMock()
- Returns:
- The fully-qualified class name of the class that should be mocked. The mock instance of this class will then be returned each time a specified method in the Logger Factory is invoked.
-
getLoggerFactoryClassName
protected String getLoggerFactoryClassName()
- Returns:
- The fully-qualified class name of the Logger Factory that contains the methods that should return a mock upon invocation.
-
getLoggerMethodName
protected String getLoggerMethodName()
- Returns:
- The name of the methods in the Logger Factory that should return a mock upon invocation.
-
applyClassLoadingPolicy
public void applyClassLoadingPolicy(MockPolicyClassLoadingSettings settings)
Apply all class-loading related policies that must be present before the interception policies can take place.- Specified by:
applyClassLoadingPolicy
in interfacePowerMockPolicy
- Parameters:
settings
- The settings objects where the class-loading policies can be applied.
-
applyInterceptionPolicy
public void applyInterceptionPolicy(MockPolicyInterceptionSettings settings)
Apply the interception policies, for example which methods that should be suppressed or which methods that should be intercepted and return some else than their original value.- Specified by:
applyInterceptionPolicy
in interfacePowerMockPolicy
- Parameters:
settings
- The settings objects where the interception policies can be applied.
-
-