Java 如何使用JUnit5和mockito测试DAO的void方法

Java 如何使用JUnit5和mockito测试DAO的void方法,java,junit,mockito,junit5,Java,Junit,Mockito,Junit5,我有一个DAO类,只有一个void类型的方法,我想把JUnit传递给它 在寻找信息时,我发现Mockito可以做到这一点 但我已经到了不知道如何继续下去的地步 这是我的刀课 public class AuditoriaDAOImpl { private DataSource dataSource; public void guardarAuditoria(AccionesAuditoria accion, String data) { String

我有一个DAO类,只有一个void类型的方法,我想把JUnit传递给它

在寻找信息时,我发现Mockito可以做到这一点

但我已经到了不知道如何继续下去的地步

这是我的刀课

public class AuditoriaDAOImpl {

    private DataSource dataSource;
    
    public void guardarAuditoria(AccionesAuditoria accion, String data) {

        String sql = "INSERT INTO ....";
        Map<String, Object> parametros = new HashMap<>();
        ......

        new NamedParameterJdbcTemplate(dataSource).update(sql.toString(), parametros);
    }
}
一旦我完成了这一行

auditoriaDAO.guardarAuditoria(AccionesAuditoria.IMPORTAR_JUEGO, new String("test"));
我不知道我能做些什么来验证这个方法的正确功能

有什么想法或建议吗

正在使用的软件:

  • 爪哇8
  • Junit 5.6.3
  • Mockito 3.5.0
非常感谢

如果问题是“如何对DAO层代码进行单元测试”,那么坦率地说,简短的回答是您不需要。DAO层中的大多数方法在代码结构方面都非常相似,因此测试结果非常重复。当然,他们不会发现拼写错误的表或列名、错误的参数数或任何其他SQL错误。您最好编写涉及实际数据库的集成测试,而不是试图模拟数据库。
auditoriaDAO.guardarAuditoria(AccionesAuditoria.IMPORTAR_JUEGO, new String("test"));