gpt4 book ai didi

java - 由另一个类扩展的类的模拟方法

转载 作者:行者123 更新时间:2023-12-01 09:26:47 27 4
gpt4 key购买 nike

我有:

public class A extends B {
public ObjectC methodToTest() {
return getSomething();
}
}

/* this class is in other project and compiles in project I want test */
public class B {
public ObjectC getSomething() {
//some stuff calling external WS
}
}

并进行测试:

@RunWith(MockitoJUnitRunner.class)
public class ATest {

@Mock
B bMock;

@InjectMocks
A classTotest;

@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}

@Test
public void getMethodToTestShouldReturnObjectC() {
Mockito.when(bMock.getSomething()).thenReturn(new ObjectC());
assertEquals(classTotest.methodToTest().getClass, ObjectC.class);
}
}

但是当我运行测试时,Mockito 正在调用 B(它失败了,因为调用了 ws...)

我读了很多关于这个问题的文章,但我无法解决它。

如何模拟 getSomething() 以返回 ObjectC?

最佳答案

Mockito.when(bMock.getSomething()).thenReturn(new ObjectC());

此方法仅更改bMock。它不会更改任何其他类B(或A)实例。

关于java - 由另一个类扩展的类的模拟方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39769231/

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