使用限制构造函数的类模拟静态方法

时间:2016-06-15 18:35:13

标签: static mockito powermockito

我在执行模拟时遇到问题,当我将其作为静态类运行时,它会抛出错误

public class UtilClass {

   private UtilClass() throws InstantiationException {
      // should never be called. 
      throw new InstantiationException("Instances of UtilClassare forbidden.");
   }

   public static void getData() {
      sysout("Testing");
   }
}

测试用例:

@RunWith(PowerMockRunner.class)
@PrepareForTest(UtilClass.class)

public class UtilTest{

@InjectMocks
private UtilClass objectUnderTest;
 @Before
    public void preTest()
            throws Exception {
        PowerMockito.mockStatic(UtilClass.class);
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void testGetData() {
    //assert statements
    }

}

引起:org.mockito.exceptions.base.MockitoException: 无法实例化名为' objectUnderTest'的@InjectMocks字段。类型'类UtilClass'。 您还没有在字段声明中提供实例,因此我尝试构造实例。 但是构造函数或初始化块引发了异常:禁止使用UtilClass实例。

0 个答案:

没有答案