在一个规范中为每个案例单独 Spock.DbUnit 内容

Separate Spock.DbUnit content for each case in one Specification

我正在使用 be.janbols.spock.extension.dbunit

但是所有情况都会调用内容。

每个案例如何指定?

@DbUnit def content =  {
   CATEGORY(CATEGORY_ID: 1L, CATEGORY_NAME: "N", CATEGORY_IMAGE:"I")
}

https://github.com/janbols/spock-dbunit

是的,您需要在您正在测试的 class 的测试用例的全局级别上使用它。 在测试注入了许多 DAO 的服务层 classes 时通常需要它。

初始内容设置后,即您希望在内存数据库中看到的值,如 H2

然后在设置中指定 table 架构,例如

def setup() { new Sql(dataSource).execute("CREATE TABLE Category(category_id INT PRIMARY KEY, category_name VARCHAR(255), category_image VARCHAR(255))")}

不要忘记在每个测试用例后进行清理