【发布时间】:2016-02-02 17:42:50
【问题描述】:
Mockito 提供了很多匹配器,例如 any()、anyClass() 等。
人们可以就其用法进行辩论。但我觉得当我们并不真正关心输入对象包含什么时,应该使用匹配器,只要它属于预期的类即可。
我只是想知道这种用法是否正确?如果没有,使用它们的更好方法是什么?
例如:
假设我们有一个预期运行时异常的测试,当使用某个请求对象调用方法时。由于我们在调用 mock 时在此处显式抛出运行时异常,因此请求对象的内容是什么并不重要。所以这个测试看起来合乎逻辑。
@Test(expected = RunTimeException.class)
public void testExceptionOccurs() {
when(mock.method(any(RequestObject.class))).thenThrow(new RuntimeException());
mock.method(new RequestObject());
}
这是正确的方法吗?
【问题讨论】: