【问题标题】:Is it possible to test a java-based CRUD without using Spring Boot JPA?是否可以在不使用 Spring Boot JPA 的情况下测试基于 java 的 CRUD?
【发布时间】:2020-07-22 22:09:41
【问题描述】:

我正在学习 Java 并尝试使用 JUnit 编写一些测试代码,但我在 YouTube 上找到的每个教程或视频都使用 Spring Boot JPA。我不想现在就尝试设置它来“跳过步骤”,因为我以前从未研究过它,而且看起来很复杂。有什么方法可以在不使用它的情况下创建一些 JUnit 测试,或者必须测试 CRUD?

例如,这是我要测试的代码:

public void save(User user) {
    //inserindo parsing para que os parâmetros inseridos substituam as interrogações
    String sql = "INSERT INTO users(nome, dataNascimento, sexo) VALUES (?, ?, ?)"; 
    
    Connection conn = null;
    PreparedStatement pstm = null;//preparação da estrutura de execução do java com o SQL
    
    try {
        //cria uma conexão com o banco de dados
        conn = (Connection) ConnectionFactory.createConnectionToMySQL();
        
        pstm = conn.prepareStatement(sql);//executa uma query
        //passando os valores esperados pela query
        pstm.setString(1, user.getNome());
        pstm.setString(2, user.getDataNascimento());
        pstm.setString(3, user.getSexo());
        
        
        pstm.execute();
        
        System.out.println("Usuário inserido com sucesso na base de dados.");
    }catch (Exception e) {
        e.printStackTrace();
    }finally {
        
        //fechando conexões
        try {
            if(pstm!=null) {
                pstm.close();
            }
            
            if(conn!=null) {
                conn.close();
            }
        }catch(Exception e) {
                e.printStackTrace();
            }
        }
    }

如果需要,这是存储库链接:

https://github.com/caiocguedes/crud-neurotech

提前致谢。

【问题讨论】:

    标签: java spring spring-boot junit


    【解决方案1】:

    Java JDBC 不需要 Spring,也不需要测试 CRUD,因为通常不测试 DAO 层 (CRUD)。

    这里是 Java JDBC 的教程

    https://javamondays.com/simple-java-jdbc-example/

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 2018-04-01
      • 2015-07-09
      • 2014-06-17
      • 2017-07-06
      相关资源
      最近更新 更多