41、在嵌入式EJB容器中进行测试

在嵌入式EJB容器中进行测试

1. 持久化单元的数据初始化

在JUnit测试会话中,像启动Derby和嵌入式EJB容器这样的步骤只需执行一次,而其他初始化步骤则需在每次JUnit测试前执行。这些每次测试前的初始化步骤会放在用 @Before 注解的方法中,示例代码如下:

@Before
public void setUp() {
    // 初始化领域模型中的数据
    PopulateDemoData.resetData("Chapter13-EmbeddableEJBTests-ResourceLocal", System.out);
}

为确保每个单元测试开始时数据库中的数据一致,我们会执行一个脚本来初始化数据库并将数据重置到期望状态。这里传递持久化单元的名称是为了能在不同应用上下文中复用。

我们可以为相同的实体类定义多个持久化单元,每个持久化单元可以指定不同的数据库连接、模式生成计划、持久化提供程序或其他配置选项。新定义的持久化单元可映射到适合测试目的的数据库连接。

2. 使用“jdbc/__default”连接

GlassFish预配置了一个适合嵌入式EJB容器使用的连接,名为 jdbc/__default 。它在请求时自动创建,嵌入式GlassFish服务器关闭时自动删除。

以下是 persistence.xml 文件,包含两个持久化单元:

&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值