问题描述
在一个项目中,我们没有使用 spring(存在大量关于 testcontainers 的信息),而是一个相当旧的 jboss 版本 6.4.0.EAP 和 hibernate,我们无法更改。测试框架是 junit4 并且在某种程度上是 arquillian。
我尝试改进集成测试,并希望至少在数据库测试设置中使用 testcontainers。我知道如何启动 testcontainer(在那种情况下是 mysqlcontainer)以及如何运行现有的 liquibase 脚本。
我坚持的是: 如何使用数据源,我可以在这里从我启动的容器中获取
public DataSource getDataSource(MySQLContainer<?> mySQLContainer) {
MysqlDataSource ds = new MysqlDataSource();
ds.setUser(mySQLContainer.getUsername());
ds.setPassword(mySQLContainer.getPassword());
ds.setURL(mySQLContainer.getJdbcUrl());
return ds;
}
创建一个实体管理器,然后将其注入现有的 Dao 中? 应用程序中的 Dao 定义如下
@ApplicationScoped
public class MyDao {
@Inject
private EntityManager entityManager;
protected EntityManager getEM() {
return entityManager;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)