scala - 使用 PowerMock 在 Scala 中模拟对象
问题描述
我正在尝试对我的一种方法进行单元测试。在这个方法里面有一行:
val dynamicFrame = DynamicFrame(dataFrame, glueContext)
问题是这DynamicFrame
是一个对象:
object DynamicFrame {
... methods()
}
我正在尝试使用 PowerMock 来模拟对DynamicFrame(dataFrame, glueContext)
. 我知道 PowerMock 可以模拟类,但我怎样才能模拟一个对象呢?我在这里和这里都看到过类似的问题,但这似乎并不简单。
在我尝试过的测试代码中
PowerMockito.whenNew(classOf[DynamicFrame])
.withAnyArguments().thenReturn(mockDynamicFrame)
但我得到了一个NullPointerException
在线DynamicFrame
创建的位置。我的猜测是,这是因为我使用了模拟类的语法,但DynamicFrame
它是一个对象。
PowerMock(来自 Mockito)是否支持此功能?如果不是,我将如何使我的测试成功?
解决方案
推荐阅读
- javascript - 基于数组中不同位置的相同键合并对象
- css - React/Webpack 将样式应用于标签而不是类/ID
- c++ - C++编程中内存分配较多时如何处理异常
- flutter - BoxDecoration 小部件缺少填充属性
- javascript - ECMAScript-6 标准的默认参数
- json - jq - 根据属性的存在选择一个对象
- r - 从 WGS84 到 Mollweide 的光栅转换会改变值吗?
- python - 如何通过条带 python api 创建经常性费用?
- python-3.x - 函数返回错误
- git - 每当我在晚上 9 点执行 git push 到 gitlab 时,显示在我的 gitlab 存储库中的推送日期将是下几天的日期。我该如何解决?