什么是过度模拟?
过度模拟(over-mocking)是指在单元测试中,模拟了太多依赖项,甚至模拟了本不需要模拟的简单对象或行为。过度模拟会导致:
- 测试代码变得复杂,难以阅读和维护。
- 测试逻辑偏离了实际业务逻辑,无法验证真实代码的行为。
- 忽略了被测单元与依赖项之间的真实交互。好的!我将通过一个简单的 Java 示例,对比过度模拟(Over-Mocking)和合理模拟的区别,帮助你理解为什么应该避免过度使用 Mockito 的
mock
。
过度模拟示例
假设我们有一个 OrderService
,它依赖 OrderRepository
(数据库操作)和 EmailService
(发送邮件)。我们的目标是测试 placeOrder
方法的行为。