使用mokito测试无效方法

时间:2017-05-18 06:35:08

标签: android unit-testing mockito

如何使用mockito

测试以下方法
public void showArg(String ss) {
    if(ss == null) {
        throw new NullPointerException();
    }else if(ss.equals("")) {
        throw new IllegalArgumentException();
    }
    // Log.d("",""+ss);
    if(ss.equals("xyz")) {
        this.show();
    }else {
        getResult(0);
    }
}

在这个例子中,没有什么可以嘲笑的。我只是想测试一下,基于i / p调用适当的方法。

2 个答案:

答案 0 :(得分:3)

如果你想验证这个方法是否被调用(假设它是公开的),我建议使用间谍......

Uninstall

间谍(而不是模拟)意味着通过将其包装在另一个实例中来获取实际对象并对其进行“间谍”。这样你就可以调用实际的方法,但也可以检查调用的内容,甚至修改一些方法会做什么,类似于mocking(区别在于,mock没有底层的“真实”对象,而间谍有)。

答案 1 :(得分:1)

如前所述,您应该使用间谍来测试此类代码。另外,在查看代码时,还应测试是否抛出适当的异常。

代码测试边框情况可能如下所示:

wp_woocommerce_shipping_zone_methods