是否可以在不使用 Spring Boot JPA 的情况下测试基于 java 的 CRUD?
Posted
技术标签:
【中文标题】是否可以在不使用 Spring Boot JPA 的情况下测试基于 java 的 CRUD?【英文标题】:Is it possible to test a java-based CRUD without using Spring Boot JPA? 【发布时间】: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
提前致谢。
【问题讨论】:
【参考方案1】:Java JDBC 不需要 Spring,也不需要测试 CRUD,因为通常不测试 DAO 层 (CRUD)。
这里是 Java JDBC 的教程
https://javamondays.com/simple-java-jdbc-example/
【讨论】:
以上是关于是否可以在不使用 Spring Boot JPA 的情况下测试基于 java 的 CRUD?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Spring Boot 中运行两个使用 spring.jpa.generate-ddl 填充的嵌入式数据库?
在没有 Spring Boot 应用程序的情况下使用 Spring Data JPA
没有 Spring Boot 的 Spring Data JPA
哪些步骤可以使用 Spring-Boot 和 JPA 启用 SQLite?
我使用 Springboot。 spring-boot-starter-data-jpa 依赖于 log4j。它脆弱吗?