只有在通过ant调用testng时才会发生模拟可用的最后一次调用

时间:2017-02-25 00:27:24

标签: java ant testng powermock easymock

我的测试堆栈是:

  • TestNG - 对此进行粗体说明,因为我认为@runWith建议只作为JUnit的解决方案
  • EasyMock的
  • PowerMock的MockStatic

我有一个我用@PrepareForTest(StaticClass.class)注释的测试类

然后在我的测试中我做了一个非常简单的

PowerMock.mockStatic(StaticClass.class); StaticClass.method(parameter); expectLastCall().anyTimes();

我正在获得标准的“java.lang.IllegalStateException:没有最后一次调用可用的模拟”问题,但仅限于从ant运行TestNG时,而不是从Eclipse运行时。我相信我的classpath包含所有必需的.jar文件,因为PowerMock.mockStatic()被称为正常,所有jar都被添加到同一个类路径中。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

错误最终导致了一些不兼容的powermock和testng版本,以及没有覆盖对象工厂,如上所述here