gpt4 book ai didi

java - 如何模拟最终对象的外部依赖关系?

转载 作者:行者123 更新时间:2023-11-30 06:35:13 25 4
gpt4 key购买 nike

public class A{
private final B b;
public void meth() {
//Some code
Integer a = b.some_method(a,fun(b));
//Some code
}
private fun(int b) {
return b;
}
}
when(b.some_method(anyInt(),anyInt())).thenReturn(100)

在为 A 类编写单元测试时如何模拟外部依赖关系。当我以上述方式模拟依赖关系时,“a”的值没有按预期分配为 100。

最佳答案

其实Jakub的回答是正确的。也许您需要一个示例来了解如何做到这一点。检查我的示例的主要方法和构造函数。

public class A {
private final B b;

public A(B b) {
this.b = b;
}

public void meth() {
//Some code
Integer a = b.some_method(5,fun(5));
//Some code
System.out.println(a);
}
private int fun(int b) {
return b;
}

public static void main(String[] args) {
B b = Mockito.mock(B.class);

when(b.some_method(anyInt(), anyInt())).thenReturn(100);

new A(b).meth();
}

}

使用构造函数,您必须使用模拟设置 B (请参阅 main 方法中的最后第三行)。当您运行 main 方法时,您将看到 System.out 的输出,它是 100。

关于java - 如何模拟最终对象的外部依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45308286/

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