PowerMock可以在没有注释的情况下使用吗



我正在尝试将PowerMock用作另一个应用程序中的库。有没有一种方法可以在不使用注释的情况下使用它来模拟静态方法调用(我所在的Clojure并不真正做注释)

根据powermock支持和这个博客,我想在测试中没有办法避免注释。不过,我想我们需要@PrepareForTest(StaticClass.class)。所以我认为至少避免@PrepareForTest是不可能的。也许我错了,但我只是想分享我的发现。

事实上,这是可能的,尽管最终解决方案的方法很痛苦。

PowerMock runner只是在不同的类加载器中初始化测试环境,其中PrepareForTest注释中指定的类由Javassist调整。因此,假设您模仿类加载器的工作,并自己调用Javassist,您可以实现相同的效果。

作为一个例子,我使用PowerMock(内部没有注释)来发现给定方法引用的方法名称。更多信息可以在我的博客上找到(捷克语,有工作实例)。我强调这种用法只是实验性的,不适合生产使用。

相关内容

  • 没有找到相关文章

最新更新