final Runnable refreshTicker = new Runnable(){public void run(){initialize();};初始化(); }};

时间:2013-02-22 13:11:55

标签: powermock

如何使用PowerMock在这里模拟Runnable ....这里initialize()调用另外两个方法。 你能澄清一下如何做到这一点吗?搜索了将近2天..

1 个答案:

答案 0 :(得分:0)

请尝试以下步骤:

  1. 在测试用例的类级别使用@RunWith(PowerMockRunner.class)注释。
  2. 在测试用例的类级别使用@PrepareForTest(ClassThatCreatesTheNewInstance.class)注释。
  3. 使用PowerMock.createMock(NewInstanceClass.class)创建应该构造的类的模拟对象(让我们将其称为mockObject)。
  4. 使用PowerMock.expectNew(NewInstanceClass.class).andReturn(mockObject)来期望NewInstanceClass.class类型的对象的新构造,而是返回模拟对象。
  5. 使用PowerMock.replay(mockObject,NewInstanceClass.class)将模拟对象和类更改为重放模式,或者使用PowerMock.replayAll()方法。
  6. 使用PowerMock.verify(mockObject,NewInstanceClass.class)将模拟对象和类更改为验证模式,或者使用PowerMock.verifyAll()方法。
  7. 参考:https://code.google.com/p/powermock/wiki/MockConstructor

相关问题