PowerMock in UnitTest

1. @RunWith(PowerMockRunner.class)
//org.powermock.modules.junit4.PowerMockRunner;

2. @PrepareForTest({clazz})
//Only the Class to test

3. PowerMock.createMock(clazz)
//Mock class

4. expect
PowerMock.expectNew // for new object
EasyMock.expect().addReturn(object).anyTimes();

5. Replay //Log all mock object and method
 PowerMock.replayAll(stub);

6. Call test method

7. PowerMock.verifyAll(); //Verify whether above expect has been called

8. Assert


Inteceptor:
1. @MockPolicy(AAA.class)

2. public class AAA implements PowerMockPolicy {

    public void applyClassLoadingPolicy(MockPolicyClassLoadingSettings settings) {}

    public void applyInterceptionPolicy(MockPolicyInterceptionSettings settings) {
         Method[] methods  = Whitebox.getMethods(BBB.class, "ccc");
         EEE eee= PowerMock.createMock(eee.class);
         for(Method method : methods) {
             settings.stubMethod(method, eee);
         }
    }

}

你可能感兴趣的:(Powermock)