我是Mockito的新手,想在单元测试中使用它。
我不喜欢的是使用Mockito.mock(Class<T>)
创建的模拟为没有明确定义行为的方法返回默认值(如null
)。相反,我希望他们在这种情况下抛出一个异常,所以我知道我需要添加这个定义。
我尝试了以下内容:
SomeType m = mock( SomeType.class, new ThrowsException( new SomeRuntimeException( ... ) ) );
when( m.a() ).thenReturn( ... );
m.a(); // ok
m.b(); // throws exception
但这不起作用,因为在调用when()
期间已经抛出了异常。
还有其他方法可以达到这个目的吗?
答案 0 :(得分:14)
替换
when( m.a() ).thenReturn( ... );
与
doReturn( ... ).when(m).a();