我该如何使用powermockito verifyNew?

时间:2014-02-06 17:17:46

标签: powermock

遇到麻烦。我过去曾经使用过Powermockito。通常这很顺利。我想我会发布我的问题,而不是继续通过例子翻找。因此,目标是验证对类的新调用。我不认为这是powermockito最受欢迎的功能。 这是测试:

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();
  }

}

和所说的课程

public class ClassUnderTest {

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


public class Collaborator {

}

我的目标是尽可能简化。我想我可以添加一些模拟对象并存在一些行为。无论如何,我得到了。

org.mockito.exceptions.misusing.UnfinishedStubbingException:  Unfinished stubbing detected here:
    -> at org.powermock.api.mockito.internal.invocationcontrol. MockitoNewInvocationControl.expectSubstitutionLogic(MockitoNewInvocationControl.java:65)


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

when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();

提示:
 1.遗失thenReturn()
 2.你正试图找到最后一种方法,你顽皮的开发者!

1 个答案:

答案 0 :(得分:3)

返回<div class="padd10_m"> <a href="http://www.caviarandfriends.com/job_board/user-profile/admin/" class="grid_view_url_thing1">admin</a> US <img src="http://www.caviarandfriends.com/job_board/wp-content/themes/PricerrTheme/images/flags/us.png"> </div>子句中的模拟对象将适用于您的情况。

whenNew()