尝试投射测试实例时,PowerMockTestListener afterTestMethod引发异常

时间:2019-12-27 10:08:13

标签: java powermock powermockito

我已经实现了PowerMockTestListener在每种测试方法之前和之后进行一些记录。 我想使用测试实例中使用的相同记录器。测试类的层次结构如下:

BaseTest -> AbstractServiceTest -> ConcreteServiceTest

BaseTest有一个公共方法,该方法返回受保护的记录器实例。

我的测试执行侦听器如下:

@Override
public class MyTestExecutionListener implements PowerMockTestListener {
      public void beforeTestMethod(Object o, Method method, Object[] objects) {
         BaseTest testInstance = (BaseTest)o;  //This works perfect
         testInstance.getLogger().log("START");
      }

@Override
public void afterTestMethod(Object o, Method method, Object[] objects, TestMethodResult 
   testMethodResult) {
         BaseTest testInstance = (BaseTest)o;  //Now here its throwing ClassCastException
         testInstance.getLogger().log("FINISH");
      }
 //Other interface methods
}

这太奇怪了,能够在 beforeTestMethod 中而不是在 afterTestMethod 中投射相同的实例。

我正在使用PowerMockito版本- 1.7.1

0 个答案:

没有答案