gpt4 book ai didi

java - 使用 Mockito 内联 mockConstruction 与 PowerMocito whenNew 相同

转载 作者:行者123 更新时间:2023-12-05 04:47:04 24 4
gpt4 key购买 nike

我正在尝试更新现有代码以删除 PowerMockito 并将其替换为 Mockito,因为 Mockito 支持模拟静态和模拟构造。

我知道您可以执行以下操作:

 assertEquals("foo", new Foo().method());
try (MockedConstruction mocked = mockConstruction(Foo.class)) {
Foo foo = new Foo();
when(foo.method()).thenReturn("bar");
assertEquals("bar", foo.method());
verify(foo).method();
}
assertEquals("foo", new Foo().method());

并且 Foo 是一个新的模拟对象。但是使用 PowerMockito 的 whenNew,您可以返回特定的模拟对象。

PowerMockito.whenNew(Foo.class).withAnyArguments().thenReturn(mockedFoo);

有没有办法指定我想从 Mockito.mockConstruction 返回什么模拟对象?

最佳答案

测试特定对象的方法之一

Class Foo {
public Test method(){
....
....
return test;
}
}

//Test
try (MockedConstruction<Test> mocked = mockConstruction(Test.class)) {
assertEquals(mocked.constructed().get(0), foo.method());
}

关于java - 使用 Mockito 内联 mockConstruction 与 PowerMocito whenNew 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68627752/

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