gpt4 book ai didi

java - 如何测试是否在要测试的方法内创建的对象上调用了方法

转载 作者:行者123 更新时间:2023-11-28 21:37:19 26 4
gpt4 key购买 nike

是否可以在不修改 Class 类的情况下测试调用了“innerMethod”?

我需要在单独的类中对“someCondition”的两种情况进行单元测试。

问题是该方法是无效的,因此我无法使用返回类型。唯一的方法是检查是否调用了“innerMethod”。

我正在考虑使用 Mokito 验证,但此方法是在运行时创建的对象的方法内部调用的。

欢迎提出任何建议。

public class Class {

public void outerMethod(outerObj) {

if(someCondition) {

Object innerObj = new Object();
innerObj.innerMethod(outerObj);

} else {

//other code
}
}

最佳答案

您可以使用 Mockito::timesMockito::verify 方法来实现。

测试设置如下:

@InjectMocks
private SomeService service;

@Mock
private SomeHelper helper;

然后测试助手中的某些方法是否以下列方式参与:

@Test
public void testInnerHasBeenCalledOnce() throws Exception {

service.outherMethodName(someParam);

Mockito.verify(helper, Mockito.times(1)).innerMethodName(someParamSecond);
}

关于java - 如何测试是否在要测试的方法内创建的对象上调用了方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56887153/

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