Mockito.mock(SomeClass)和@Mock注释有什么区别?

2022-08-31 14:22:55

方法和注释有什么区别?它们是一样的吗?Mockito.mock(Class<T> classToMock)@Mock

例如,是这样的:

private TestClass test = Mockito.mock(TestClass.class);

与:

@Mock
private TestClass test;

答案 1

它们都取得了相同的结果。使用注释 () 通常被认为是“更干净的”,因为您不会用看起来都相同的样板分配来填充代码。@Mock

请注意,为了使用该批注,测试类应在其方法中附加批注或包含对它的调用。@Mock@RunWith(MockitoJUnitRunner.class)MockitoAnnotations.initMocks(this)@Before


答案 2

不同之处在于您需要编写:) :) :)

不过说真的,使用注释与使用Mockito.mock具有完全相同的效果。

引用使用注释的文档具有以下好处:MockitoAnnotations

  • 允许速记创建测试所需的对象。

  • 最大限度地减少重复的模拟创建代码。

  • 使测试类更具可读性。

  • 使验证错误更易于阅读,因为字段名称用于
    标识模拟。

的 javadoc 在这里MockitoAnnotations


推荐