作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试更新现有代码以删除 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/
我正在尝试更新现有代码以删除 PowerMockito 并将其替换为 Mockito,因为 Mockito 支持模拟静态和模拟构造。 我知道您可以执行以下操作: assertEquals("foo"
我是一名优秀的程序员,十分优秀!