gpt4 book ai didi

junit - 我们现在可以用 Mockito 2 模拟静态方法吗?

转载 作者:行者123 更新时间:2023-12-04 08:21:44 24 4
gpt4 key购买 nike

我读到 Mockito 2 不再使用 CGLIB/proxy,而是使用 ByteBuddy 进行模拟创建。这是否意味着从现在开始可以模拟静态方法和私有(private)方法?

最佳答案

不,您不能(请参阅他们的文档 here ;我相信他们会提到这一点)。

因此,PowerMock(ito) 和 JMockit 是两个支持模拟静态方法的模拟框架。

但是,一些个人意见:仍然应该更喜欢使用 Mockito 而不是 PowerMock(ito);只需编写可以用 Mockito 测试的代码;这不需要PowerMock。我的意思是:当您编写自己的代码并且认为需要模拟静态调用时;那么你正在努力编写测试代码。

答案是不要寻求强大的模拟框架;但要编写易于测试的代码。你可以看看这些videos学习如何做到这一点。

最后:不要认为 PowerMockito 是一个好的选择。 Mockito 现在是 2.79 版(截至 2017 年 3 月)。但是当您查看 PowerMockito 时;你会发现它附带了一些 Mockito 2.0.42 beta 的东西——因为 PowerMockito 的人不能让他们的工具与任何新版本的 Mockito 一起工作。这是一种耻辱,因为那些较新的 Mockito 版本有很多有趣的功能。

关于junit - 我们现在可以用 Mockito 2 模拟静态方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com