在Mockito中注释模拟对象

时间:2015-07-20 16:12:36

标签: java unit-testing junit mockito

我需要使用带有注释的Mockito来模拟对象,然后使用该注释。有没有办法向模拟对象添加注释?

1 个答案:

答案 0 :(得分:0)

一种方法:

public class YourTest {
  @Order public static class YourAnnotatedClass extends YourClass {}

  @Mock YourAnnotatedClass yourAnnotatedClass;

  // ...
}

这将确保您的类型在其层次结构中具有所需的注释。 Mockito的覆盖基于Proxy / CGLIB / ByteBuddy,并不完全适用于要在反射中注释或使用的任何适当的类。

事实上,在没有使用Mockito的情况下,将子类构建为假或手动模拟可能有一些原因,例如:

  • 如果注释需要位于层次结构中最低(最具体)的子类
  • 如果您不需要任何其他Mockito功能
  • 如果需要注释/子类化的类是被测试的类,因为你应该测试该类,因为它是要使用的(子类)而不是Mockito的模拟/存根