Mockito.mock(SomeClass) 和 @Mock 注释有什么区别?
Mockito.mock(Class<T> classToMock)
方法和@Mock
注解有什么区别?它们是一样的吗?
What is the difference between Mockito.mock(Class<T> classToMock)
method and the @Mock
annotation?
Are they the same?
例如,是这样的:
private TestClass test = Mockito.mock(TestClass.class);
同:
@Mock
private TestClass test;
推荐答案
它们都达到了相同的结果.使用注解 (@Mock
) 通常被认为是更干净",因为您不会用看起来都一样的样板赋值来填充代码.
They both achieve the same result. Using an annotation (@Mock
) is usually considered "cleaner", as you don't fill up your code with boilerplate assignments that all look the same.
请注意,为了使用 @Mock
注释,您的测试类应使用 @RunWith(MockitoJUnitRunner.class)
注释或包含对 的调用MockitoAnnotations.initMocks(this)
在其 @Before
方法中.
Note that in order to use the @Mock
annotation, your test class should be annotated with @RunWith(MockitoJUnitRunner.class)
or contain a call to MockitoAnnotations.initMocks(this)
in its @Before
method.
相关文章