首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用powermockito verifyNew?

如何使用powermockito verifyNew?
EN

Stack Overflow用户
提问于 2014-02-07 01:17:46
回答 1查看 7.9K关注 0票数 6

在这方面有问题。我过去经常使用Powermockito。通常情况下,这是相当顺利的。我想我会把我的问题发布出来,而不是继续翻找例子。因此,我们的目标是验证对类的new调用。我不认为这是powermockito最受欢迎的特性。下面是测试结果:

代码语言:javascript
复制
import static org.powermock.api.mockito.PowerMockito.verifyNew;
import static org.powermock.api.mockito.PowerMockito.whenNew;

@RunWith(PowerMockRunner.class)
@PrepareForTest(ClassUnderTest.class)
public class VerifyNewTest {

  ClassUnderTest myClassUnderTest = new ClassUnderTest();

  @Before
  public void setUp() throws Exception {
  }

  @Test
  public void test() throws Exception {
    whenNew(Collaborator.class).withNoArguments().thenReturn(new Collaborator());
    myClassUnderTest.doSomething();
    verifyNew(Collaborator.class).withNoArguments();
  }

}

和所说的类

代码语言:javascript
复制
public class ClassUnderTest {

  public void doSomething() {
    new Collaborator();
  }
}


public class Collaborator {

}

我的目标是让这一切变得尽可能简单。我想我本可以添加一些模拟对象并截断一些行为。不管怎样,我明白了。

代码语言:javascript
复制
org.mockito.exceptions.misusing.UnfinishedStubbingException:  Unfinished stubbing detected here:
    -> at org.powermock.api.mockito.internal.invocationcontrol. MockitoNewInvocationControl.expectSubstitutionLogic(MockitoNewInvocationControl.java:65)

例如,thenReturn()可能丢失。正确的存根示例:

代码语言:javascript
复制
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();

提示:

缺少thenReturn()

  • you的
  1. 正在尝试存根一个最终方法,你这个淘气的开发人员!

EN

回答 1

Stack Overflow用户

发布于 2016-09-27 15:21:58

whenNew()子句中返回模拟对象在您的情况下可以工作。

代码语言:javascript
复制
@Test
public void test() throws Exception {
    whenNew(Collaborator.class).withNoArguments().thenReturn(mock(Collaborator.class));
    myClassUnderTest.doSomething();
    verifyNew(Collaborator.class).withNoArguments();
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21609645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档