我想测试一些严重依赖静态方法调用的遗留代码。PowerMockito测试遗留代码
基本上,我有一个类A,方法b()和c()。 A.b()返回void,并且A.c()返回一个值。
如果真正的A.b()被调用,被测试的类会抛出一个异常,所以我需要它不做任何事情。但是,如果我使用:
PowerMockito.spy(A.class);
PowerMockito.doNothing().when(A.class);
然后我不能模拟A.c()返回我需要的值。这是因为该行
PowerMockito.when(A.c()).thenReturn(value);
抛出异常:Only void methods can doNothing()
。有什么办法让A.b()什么也不做,并且“覆盖”A.c()返回正确的值?
PowerMockito.doNothing()。当(A.class)有void返回类型 – user472875 2013-02-11 17:05:13