gpt4 book ai didi

constructor - Mock Constructor with constructor-args Object... object

转载 作者:行者123 更新时间:2023-12-04 04:51:29 27 4
gpt4 key购买 nike

我想在我的单元测试中模拟一个遗留对象。这是构造函数:

public Class LegacyClass{
public LegacyClass(Object... obj) {
super(obj);
}
}

我尝试使用 powerMock 模拟它,如下所示:
whenNew(LegacyClass.class).withParameterTypes(Object.class).
withArguments(anyString(), anyString()).thenAnswer(new Answer<Object>(){
...//Answer impl code
});

问题来了:
  • 我应该在 withParameterTypes() 中放入哪个类?
  • 我可以把它放在@Before setup() 中吗?
  • 最佳答案

    使用 Object[].class访问 varargs 参数的参数类型:

    PowerMockito.whenNew(LegacyClass.class)
    .withParameterTypes(Object[].class)
    .withArguments(Mockito.anyString(), Mockito.anyString())
    .thenAnswer(new Answer<Object>() {
    public Object answer(InvocationOnMock invocation)
    throws Throwable {
    // your code
    }
    });

    我测试过,这也适用于 @Before方法。

    关于constructor - Mock Constructor with constructor-args Object... object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17375200/

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