摘要:
Mockito 临时 mock 对象 如果需要临时将一个对象的内部对象替换为 mock 对象,在无法通过set和get处理内部对象的情况下,可以利用反射搞定。 Java JOOR 反射库 是一个很好用的反射库。本文用它进行临时替换。 用一个小项目作为示例: 项目结构: . ├── build.gra 阅读全文
摘要:
Mockito 使用 PowerMock 让 Mockito 支持静态方法 PowerMock 是一个增强库,用来增加 Mockito 、EasyMock 等测试库的功能。 Mockito 默认是不支持静态方法 比如我们在 ExampleService 类中定义静态方法 add: public cl 阅读全文
摘要:
Mockito 测试隔离 根据 JUnit 单测隔离 ,当 Mockito 和 JUnit 配合使用时,也会将非static变量或者非单例隔离开。 比如使用 @Mock 修饰的 mock 对象在不同的单测中会被隔离开。 示例: import org.junit.Test; import org.ju 阅读全文
摘要:
Mockito 使用 mockingDetails 判断对象是否为 mock对象、spy 对象 Mockito 的 mockingDetails 方法会返回 MockingDetails 对象,它的 isMock 方法可以判断对象是否为 mock 对象,isSpy 方法可以判断对象是否为 spy 对 阅读全文
摘要:
Mockito 使用 verify 校验是否发生过某些操作 使用 verify 可以校验 mock 对象是否发生过某些操作 示例 import org.junit.Test; import static org.mockito.Mockito.*; public class MockitoDemo 阅读全文
摘要:
Mockito 使用 thenCallRealMethod 调用 spy 对象的真实方法 thenCallRealMethod 可以用来重置 spy 对象的特定方法特定参数调用。 示例: import org.junit.Assert; import org.junit.Test; import s 阅读全文
摘要:
Mockito 使用 reset 重置对象 使用 reset 方法,可以重置之前自定义的返回值和异常。 reset mock 对象示例 import org.junit.Assert; import org.junit.Test; import static org.mockito.Mockito. 阅读全文
摘要:
Mockito 使用 doNothing 让 void 函数什么都不做 doNothing 用于让 void 函数什么都不做。因为 mock 对象中,void 函数就是什么都不做,所以该方法更适合 spy 对象。 示例: import org.junit.Test; import static or 阅读全文
摘要:
Mockito 使用 doAnswer 自定义方法处理逻辑 doAnswer 的作用和 thenAnswer 相同,但使用方式不同: import org.junit.Assert; import org.junit.Test; import org.mockito.MockitoAnnotatio 阅读全文
摘要:
Mockito 使用 doThrow 让方法抛出异常 如果一个对象的方法的返回值是 void,那么不能用 when .. thenThrow 让该方法抛出异常 如果没有返回值, 下面这种写法是错误的: import org.junit.Test; import org.mockito.Mock; i 阅读全文