spring引导:运行测试时如何访问h2数据库表内容?

lawou6xi  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(240)

我正在向现有的spring启动应用程序添加新的实体类。其中一个单元测试失败了,我无法修复它。
下面是单元测试的前3行:

Client office = this.entityManager.find(Client.class, 1L);
        Client client = this.entityManager.find(Client.class, 2L);
        Member member = this.entityManager.find(Member.class, 1L);

前两行是从其他现有单元测试复制的。而且有一个 data.sql 为单元测试准备数据的文件。正如前两行正在努力寻找的 Clientid = 1 以及 id = 2 已提供:

insert into `client` (`id`, `name`, ...)
values
    (1, 'client_A`, ...);
INSERT INTO `client` (`id`, `name`, ...)
VALUES
    (2, 'client_B`, ...);

调试单元测试时, office 以及 client 已成功分配为中准备的示例 data.sql 如上图所示。我还尝试更改数据,例如,如果我更改了 client_Bclient_C 在单元测试中,返回 client 的名字也改为 client_C .
测试实体 Member 我新添加了一行,我也在 data.sql :

INSERT INTO `member` (id, code, `name`, ...)
VALUES
    (1, 'APTX4869', 'KUSURI', ...);

我读过这个问题,这个问题和我想问的完全一样,但方法就是不起作用。
简而言之,我想检查一下我添加的新数据 data.sql 在测试运行时已经在那里了。我该怎么办?或者,如果有人能直接指出 find(Memeber.class) 他回来了 null ,我将非常感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题