gpt4 book ai didi

java - Mockito - 内部方法调用

转载 作者:搜寻专家 更新时间:2023-10-31 08:31:48 25 4
gpt4 key购买 nike

我有一个名为 Availability.java 的类,它有两个方法。

 public Long getStockLevelStage() {
//some logic
getStockLevelLimit();
}

public Long getStockLevelLimit() {
String primaryOnlineArea = classificationFeatureHelper.getFirstFeatureName(productModel, FEATURE_CODE_PRODUCT_ONLINE_AREA_PRIMARY, language);
................
return new Long();
}

我正在编写一个单元测试类AvailabilityTest.java

@RunWith(MockitoJUnitRunner.class)
public class AvailabilityTest {
@InjectMocks
private Availability availability = new Availability();

@Test
public void testGetStockLevelStage() {
availability.getStockLevelStage();
}
}

当我调用 availability.getStockLevelStage() 方法时,它会调用 getStockLevelLimit() 方法。是否可以模拟内部方法调用?

在这种情况下,我不希望在 getStockLevelStage() 执行时执行 getStockLevelLimit()

请帮忙。

最佳答案

试试这个:

@RunWith(MockitoJUnitRunner.class)
public class AvailabilityTest {
@InjectMocks
@Spy
private Availability availability = new Availability();

@Test
public void testGetStockLevelStage() {
Mockito.doReturn(expectedLong).when(availability).getStockLevelLimit();
availability.getStockLevelStage();
}
}

这是我在 Mockito Spying 上写的一篇文章如果您需要进一步阅读。

关于java - Mockito - 内部方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371869/

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