代码之家  ›  专栏  ›  技术社区  ›  Chaitanya

Mockito-无法模拟结果集

  •  0
  • Chaitanya  · 技术社区  · 6 年前

    我正在编写一个测试用例,试图模拟一个Resultset。为此我已经准备好了

      val mockedResultSet = mock[ResultSet]
      val mockedRow = mock[Row]
    

      doReturn(mockedRow).when(mockedResultSet).one()
    

      doReturn(true).when(mockedResultSet).isExhausted
    

    但是,有些方法中,我直接在resultSet上应用map函数,而不是在resultSet上应用.all()函数。例如:-

       val results = executeDBStatement(dBConnection, queryBuilderStmt)
        if (!results.isExhausted) {
          val res = results.map(row => {        
          // iterate over the result and create a list of case classes
          }
          )
        }
    

    在这里,我无法模拟ResultSet的映射函数行为。请让我知道在这种情况下我如何嘲笑结果集。提前谢谢!!!

    1 回复  |  直到 6 年前
        1
  •  0
  •   ultrasecr.eth    6 年前

    通常不建议模拟不属于您的对象(检查 this 文章了解更多细节)

    现在,如果出于某种原因您还想模拟ResultSet,那么最好知道您在使用什么库,以及在尝试存根map函数时遇到了什么确切的错误。