Package org.powermock.core.spi
Interface PowerMockPolicy
- All Known Implementing Classes:
AbstractEasyMockLogPolicyBase
,JclMockPolicy
,Log4jMockPolicy
,Slf4jMockPolicy
,Slf4jMockPolicy
public interface PowerMockPolicy
This interface can be implemented to create policies for certain frameworks
to make it easier for users to test their code in isolation from these
frameworks. A mock policy implementation can for example suppress some
methods, suppress static initializers or intercept method calls and change
their return value (for example to return a mock object). A mock policy
implementation must be stateless. The reason why there are two methods
for applying settings is that PowerMock needs to know which classes that
should be modified by the mock class loader before these classes have
loaded. The
applyClassLoadingPolicy(MockPolicyClassLoadingSettings)
tells PowerMock which classes that should be loaded and then the
applyInterceptionPolicy(MockPolicyInterceptionSettings)
is called
from the mock class-loader itself. This means you can create mocks for e.g.
final and static methods in the
applyInterceptionPolicy(MockPolicyInterceptionSettings)
which would
not have been possible otherwise.
Since mock policies can be chained subsequent policies can override behavior of a previous policy. To avoid accidental overrides it's recommended add behavior instead of setting behavior since the latter overrides all previous configurations.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Apply all class-loading related policies that must be present before the interception policies can take place.void
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.
-
Method Details
-
applyClassLoadingPolicy
Apply all class-loading related policies that must be present before the interception policies can take place.- Parameters:
settings
- The settings objects where the class-loading policies can be applied.
-
applyInterceptionPolicy
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.- Parameters:
settings
- The settings objects where the interception policies can be applied.
-