Spock框架:部分模拟与安装指南
1. 使用Spies创建部分模拟
Spock除了支持创建模拟对象(mocks)和存根(stubs)外,还支持第三种“假”对象:spies。Spies作为部分模拟,会接管一个Java对象,只模拟其中的一些方法。方法调用可以像模拟对象那样被存根化,也可以传递给真实对象。
不过,spies是一种有争议的技术,它暗示着Java代码可能存在问题。它主要用于为无法重构的设计糟糕的生产代码创建单元测试,这在遗留代码中很常见。
1.1 特殊需求示例应用
假设有一个安全实用程序的Java应用,它从外部摄像头获取视频流,检测到入侵者时会删除硬盘上的所有文件。该应用由两个Java类实现:
public class CameraFeed {
// ...代码省略
public void setCurrentFrame(Image image){
// ...代码省略
}
}
public class HardDriveNuker {
public void deleteHardDriveNow(){
// ...代码省略
}
}
public class SmartHardDriveNuker extends HardDriveNuker{
public void activate(Ca
超级会员免费看
订阅专栏 解锁全文
4534

被折叠的 条评论
为什么被折叠?



