gpt4 book ai didi

java - 测试 Spring Boot 中使用的 HSQLDB 连接

转载 作者:行者123 更新时间:2023-11-30 02:11:13 25 4
gpt4 key购买 nike

我可以以某种方式测试我的数据库(使用 HSQL)是否正确连接吗?是否有可能模拟这种数据库,只是测试它,而不是完全连接到它?

应用程序属性

spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.datasource.url = jdbc:hsqldb:file:testdb.script
spring.datasource.username=sa

spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true

最佳答案

为什么不使用 JUnit ?以下示例代码和步骤 - 可能存在语法错误。

配置H2内存数据库作为测试的数据源:示例文件

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
spring.datasource.password=sa

Spring Boot 将使用这些属性来自动配置 DataSource bean。

您可以使用 Spring JPA 定义测试实体和存储库(如果需要,可以在 Maven 中包含依赖项)

@Entity
public class TestEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String value;

// add constructors, getters, setters etc
}

创建存储库

public interface TestEntityRepository
extends JpaRepository<GenericEntity, Long> { }

现在编写一个测试类来看看连接是否一切正常?

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class SpringBootJPAIntegrationTest {

@Autowired
private TestEntityRepository testEntityRepository;

@Test
public void givenTestEntityRepository_whenSaveAndRetreiveEntity_thenOK() {
TestEntity TestEntity= testEntityRepository
.save(new TestEntity ("test"));
TestEntity foundEntity = genericEntityRepository
.findOne(genericEntity.getId());

assertNotNull(testEntity);
assertEquals(testEntity.getValue(), foundEntity.getValue());
}
}

关于java - 测试 Spring Boot 中使用的 HSQLDB 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50047248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com