java - 如何在 Junit5 和 JDK11 中使用 Powermock?
问题描述
我正在尝试使用 Powermock 模拟静态方法。当我在 Junit4、JDK8 环境中使用它时,该代码有效。但是,Powermock 不适用于 JDK11 和 Junit5 的组合。当我查看 Powermock 文档时,它说已为 Junit 4.7+ 添加了支持。所以我的理解是它应该适用于 Junit5。没有提到JDK。所以无论版本如何,它都会支持 Java 吗?
我尝试在 pom.xml 中使用 Powermock 和 Junit5 的各种组合。但似乎没有任何效果。谁能帮助我处理 Powermock、Junit5 和 JDK11 的工作组合(依赖项)?这种组合甚至可以一起工作吗?
编辑:我在某处看到 Junit5 不适用于 Powermock。但这是 2018 年的一个帖子。到 2020 年还提供支持吗?任何有关这方面的信息都会有很大帮助。
解决方案
我花了 3 天时间尝试不同的组合。截至 2020 年 2 月,我相信 Junit5 不支持 Powermock。所以,更好的选择是选择 Jmockit。我已经使用 Jmockit 模拟了静态方法。
我想写这篇文章是因为它可能会节省一些人的时间。虽然,如果有人在 Powermock Junit5 组合中模拟过静态方法。请张贴。
推荐阅读
- c# - 在 EF 中获取最后一个可能的 Id 是更快/更好的选择:MaxAsync 与 LastAsync?
- php - 警告:number_format() 期望参数 1 为浮点数,字符串在 D:\xampp\htdocs\website\foodpoint\welcome.php 第 205 行给出
- android - 在没有服务的情况下继续在后台运行 CountdownTimer
- python - 熊猫计算给出不正确的小数点
- javascript - 在 Materializecss Carousel 中更改子项目的 translatex 和 translatey
- java - PersistenceUnit 的预部署失败,因为在将 Maven 添加到项目后“使用非实体”
- sharepoint - 从搜索中排除文档库项目
- asp.net-core - 如何在 ASP Core 5 的异常中获取方法名称和行号
- javascript - 从vue转换的cordova android应用程序中的Leafletmap是灰色的
- c++ - 静态函数可以在 C++ 中是虚拟的吗?