gpt4 book ai didi

java - 我怎样才能 "intercept"一个方法调用进行测试?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:54 25 4
gpt4 key购买 nike

我有这样一个类:

class A {

public static void makeCall() {
URL url = "www.google.com";
InputStream result = url.openStream();
//Do more stuff
}
}

我想为它写一个单元测试。我想做的是“拦截”对 openStream() 的调用,这样我就可以运行静态方法 makeCall() 并返回某种硬编码返回 JSON,而不是实际进行调用。我一直无法弄清楚如何模拟它,或者它是否可能。

我正在寻找与 Angular 的 $httpBackend 相同的行为,有什么想法或建议吗?

最佳答案

您不需要模拟方法成员变量。为了更好的设计,将 url 作为方法中的参数。

public static void makeCall(URL url){

然后在模拟中通过测试。

这还允许在未来获得更大的灵 active 和可能的​​代码重用。

关于java - 我怎样才能 "intercept"一个方法调用进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38595802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com