【问题标题】:I am trying to use easymock to return a list我正在尝试使用 easymock 返回列表
【发布时间】:2018-08-09 07:42:07
【问题描述】:
List<ReservationArrival> resArrivalList = new ArrayList<>();

ReservationArrival reservArr = new ReservationArrival();

reservArr.setArrivalStatus("DISPATCHED");
reservArr.setReservationArrivalId(9888888L);
reservArr.setDispatchTime("2018-03-07 17:29:30");


EasyMock.replay( resArrivalList );

expect(namedParameterJdbcTemplate.query(EasyMock.anyObject(String.class),
        EasyMock.anyObject(MapSqlParameterSource.class),
        EasyMock.anyObject(ReservationArrivalMapper.class))).andReturn(resArrivalList);

我的名为ParameterJdbcTemplate 的模拟对象返回空列表

【问题讨论】:

  • 我注意到你的问题仍然是“开放的”——因为你没有接受答案。请查看并决定是否要accept 回答。或者让我知道我是否可以做些什么来增强我的输入以使其被接受。接受有助于未来的读者确定问题是否已解决,并对花时间回答你的人表示感谢。谢谢!

标签: junit powermock easymock


【解决方案1】:

您需要将模拟服务 (namedParameterJdbcTemplate) 设置为重播模式,而不是 resArrivalList,后者只是一个普通对象,用作模拟的返回值。 此外,重播调用必须在模拟设置之后。

这样的事情应该可以工作:

List<ReservationArrival> resArrivalList = new ArrayList<>();

ReservationArrival reservArr = new ReservationArrival();

reservArr.setArrivalStatus("DISPATCHED");
reservArr.setReservationArrivalId(9888888L);
reservArr.setDispatchTime("2018-03-07 17:29:30");


expect(namedParameterJdbcTemplate.query(EasyMock.anyObject(String.class),
        EasyMock.anyObject(MapSqlParameterSource.class),
        EasyMock.anyObject(ReservationArrivalMapper.class))).andReturn(resArrivalList);

EasyMock.replay( namedParameterJdbcTemplate );

【讨论】:

    猜你喜欢
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2021-05-31
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多