Gáb*_*kós 53 java junit unit-testing mocking mockito
Mockito.mock(Class<T> classToMock)方法和@Mock注释有什么区别?它们是一样的吗?
例如,是这样的:
private TestClass test = Mockito.mock(TestClass.class);
Run Code Online (Sandbox Code Playgroud)
同样如下:
@Mock
private TestClass test;
Run Code Online (Sandbox Code Playgroud)
Mur*_*nik 63
它们都达到了相同的效果.使用注释(@Mock)通常被认为是"更干净",因为您没有使用样板分配来填充代码,这些分配看起来都相同.
请注意,为了使用@Mock注释,您的测试类应在其方法中注释@RunWith(MockitoJUnitRunner.class)或包含对其的调用.MockitoAnnotations.initMocks(this)@Before
使用注释有两个显着的优点。
@Mock可以使用@InjectMocks注释将创建的模拟注入到您正在测试的类中。这是一种强大的技术,可以显着简化测试。它只是不适用于该mock方法创建的模拟。@Mock,则此名称将只是该字段的名称。这使得很容易找到问题模拟。 当然,除了这两个重要的优点之外,大多数人发现这种@Mock表示法更具可读性,并且确实减少了代码量。我认为没有理由不使用它。
| 归档时间: |
|
| 查看次数: |
19736 次 |
| 最近记录: |