【发布时间】:2019-01-30 17:35:12
【问题描述】:
我正在编写一个使用 Scala 与 Cassandra 交互的应用程序。在执行单元测试时,我正在使用 mockito,其中我正在模拟 resultSet 和 row
val mockedResultSet = mock[ResultSet]
val mockedRow = mock[Row]
现在一边模拟 mockedRow 的方法,比如
doReturn("mocked").when(mockedRow).getString("ColumnName")
工作正常。但是,我无法模拟 mockedRow 的 getTimestamp 方法。我尝试了 2 种方法,但没有成功。
第一种方法
val testDate = "2018-08-23 15:51:12+0530"
val formatter = new SimpleDateFormat("yyyy-mm-dd HH:mm:ssZ")
val date: Date = formatter.parse(testDate)
doReturn(date).when(mockedRow).getTimestamp("ColumnName")
第二种方法
when(mockedRow.getTimestamp("column")).thenReturn(Timestamp.valueOf("2018-08-23 15:51:12+0530"))
它们都返回 null ,即它不返回 getTimestamp 方法的模拟值。我在我的项目中使用 cassandra 驱动程序核心 3.0 依赖项。 任何帮助将不胜感激。提前谢谢!!!
【问题讨论】: