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.
这篇关于Mockito.mock(SomeClass) 和 @Mock 注释有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何模拟超级参考(在超级类上)?How to mock super reference (on super class)?(如何模拟超级参考(在超级类上)?)
Java 模拟数据库连接Java mock database connection(Java 模拟数据库连接)
Mockito ClassCastException - 无法投射模拟Mockito ClassCastException - A mock cannot be cast(Mockito ClassCastException - 无法投射模拟)
将值设置为模拟对象但获取 nullSet value to mocked object but get null(将值设置为模拟对象但获取 null)
如何模拟 DriverManager.getConnection(...)?How to mock DriverManager.getConnection(...)?(如何模拟 DriverManager.getConnection(...)?)
模拟;使用列表调用验证方法,忽略列表中元素的Mockito; verify method was called with list, ignore order of elements in list(模拟;使用列表调用验证方法,忽略列表中元素的顺序)