问题描述
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)
批注或在其@Before
方法中包含对MockitoAnnotations.initMocks(this)
的调用.
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.
这篇关于Mockito.mock(SomeClass)和@Mock注释之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!