Spring boot 在我的单元测试中,我只想加载一次h2脚本

Spring boot 在我的单元测试中,我只想加载一次h2脚本,spring-boot,jpa,junit,Spring Boot,Jpa,Junit,在我的项目中,我将spring boot与JPA一起使用,我创建了单元测试并使用h2数据库,但在每个类h2数据库加载并运行DDL和DML脚本之前的单元测试中,我想限制为仅一次性加载并运行DDL和DML,您的单元测试不应依赖于任何外部脚本 它使您的测试依赖于某个外部因素,这使得您的测试失败,即使该外部因素由于其他原因失败 人们永远不会仅仅通过查看您的测试用例代码来了解您的测试用例 解决问题的正确方法是使用TestEntityManager编写一个@DataJPATest,您可以参考中的一个示例

在我的项目中,我将spring boot与JPA一起使用,我创建了单元测试并使用h2数据库,但在每个类h2数据库加载并运行DDL和DML脚本之前的单元测试中,我想限制为仅一次性加载并运行DDL和DML,您的单元测试不应依赖于任何外部脚本

  • 它使您的测试依赖于某个外部因素,这使得您的测试失败,即使该外部因素由于其他原因失败
  • 人们永远不会仅仅通过查看您的测试用例代码来了解您的测试用例

解决问题的正确方法是使用
TestEntityManager
编写一个
@DataJPATest
,您可以参考中的一个示例。

您的问题很广泛。请给出一个测试的具体例子。您希望一次性执行数据库init的原因是什么?