代码之家  ›  专栏  ›  技术社区  ›  user1589188

如何在Spring配置中填充SQL脚本以在测试之间共享?

  •  0
  • user1589188  · 技术社区  · 3 年前

    我知道 @Sql 可以在测试类级别或每个测试方法读取SQL脚本,但我希望在 @Configuration 类,以便不同的测试类可以简单地 @Import 这个配置类,并且在运行任何测试方法之前已经插入了数据。这可行吗?你是如何做到的?

    1 回复  |  直到 3 年前
        1
  •  1
  •   Mar-Z    3 年前

    你可以通过继承来实现你的目标。将@Sql注释放在基类中,并让您测试类对其进行扩展。

    示例代码基类:

    @DataJpaTest
    @Sql(statements = "INSERT INTO CUSTOMER (NAME, EMAIL) VALUES ('John', '[email protected]');")
    class DatabaseTestBase {
    }
    

    样品测试类别:

    class DatabaseTests extends DatabaseTestBase {
    
    @Test
    void checkSaveCustomer() {
        // ...
    }