Spock使用Spy来Mock内部调用的方法

使用Spy来Mock内部调用的方法

如果使用Spy不生效参考

使用前先看看哪些场景不生效,避免浪费太多时间,我曾经就是mock一个方法折腾两个小时都没弄出来,后来问了 小美智能助理 ,告诉我其中private修饰的方法不生效..我把private改成protected​ 修饰之后, 再次重启单测,立马就好使了.

https://blog.csdn.net/qq_41489540/article/details/139861513

示例

在Spock框架中,要mock一个类中调用的另一个方法,通常需要使用Spock的Spy功能。Spy允许你在一个实例上部分地mock方法,这意味着你可以选择性地mock某些方法,而其他方法则保持原有行为。以下是如何使用Spy来mock内部方法调用的步骤:

示例代码

假设你有一个Calculator​类,它有一个calculate​方法,这个方法内部调用了add​方法。你想要mock掉add​方法。

class Calculator {
   
    int calculate(int a, int b) {
   
        return add(a, b)
    }
	// 内部调用的方法
    private int add(int a, int b) {
   
        return a + b
    }
}

class CalculatorSpec extends Specification {
   
    def "should mock internal add method"() {
   
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值