我在堆栈上看到了这个问题的另一个例子,但没有答案。任何人都可以根据经验(或任何其他深奥的手段)告诉我,如果这甚至可以做到?我已经遵循了所有可以找到我可以找到的嘲讽静态方法的例子,但是还没有发现可用于抽象类中的静态方法的例子。两种方法失败,MissingMethodInvocationException:PowerMock模拟抽象类的静态方法
File[] files = {goodFile, badFile};
PowerMockito.mockStatic(AbstractFileImporter.class);
// fails with MissingMethodInvocationException
PowerMockito.when(AbstractFileImporter.getFiles(".")).thenReturn(files);
和:
// fails with MissingMethodInvocationException
BDDMockito.given(AbstractFileImporter.getFiles(".")).willReturn(files);
尽管这种方法失败IllegalStateException异常:
// fails with IllegalStateException
expect(AbstractFileImporter.getFiles(".")).andReturn(files);
我是很新,嘲讽,所以任何建议或好的网站链接作为资源使用,同时跋涉所有这些将非常有帮助。顺便说一下,我在重构方面确实有一些余地,但不使用不同的工具/实用程序,所以我被困在Mockito/PowerMock和TestNG中。
感谢Bastian,就是这样,这个类没有被列为扩展PowerMockTestCase。我不能相信我错过了检查,但它是另一个球队的代码,所以......我猜他们没有按照他们应该的那样小心遵守公司的标准。 – idclaar 2015-01-14 20:28:08