gpt4 book ai didi

java - Spring Data Jpa 保存测试失败

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

我真的没有选择。我正在尝试将实体保存到数据库并断言该值已被持久化。我正在使用 H2 内存数据库。

我不知道我做错了什么。每次运行应用程序时,我都会得到一个空值。

这是我的类(class):

汽车存储库测试

@RunWith(SpringRunner.class)
@DataJpaTest(showSql= true)
public class CarRepositoryTest
{
@MockBean
private CarRepository repo;

@Test
public void saveTest() throws Exception {

Car car = new Car(1L, "MyFirstCar");
Car saved = repo.save(car);

assertNotNull(saved);
}
}

汽车存储库

@Repository
public interface CarRepository extends CrudRepository<Car, Long>
{
}

application.properties

spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1
spring.h2.console.enabled=true
spring.h2.console.path=/h2console
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop

JpaTestApplication

@SpringBootApplication
@Configuration
@EnableJpaRepositories(basePackages="com.al.repository")
public class JpaTestApplication {

public static void main(String[] args) {
SpringApplication.run(JpaTestApplication.class, args);
}
}

最佳答案

答案就像 Autowiring 存储库一样简单,而不是像 @SeanCarrol 建议的 MockBean

所以我的测试现在看起来像这样:

@RunWith(SpringRunner.class)
@DataJpaTest(showSql= true)
public class CarRepositoryTest
{
@Autowire
private CarRepository repo;

@Test
public void saveTest() throws Exception {

Car car = new Car(1L, "MyFirstCar");
Car saved = repo.save(car);

assertNotNull(saved);
}
}

关于java - Spring Data Jpa 保存测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47501327/

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