我正在开发一个三层应用程序,并且正在为持久层中的 DAO 创建集成测试。当应用程序在 Websphere 或 JBoss 中运行时,我希望使用这些应用程序服务器的连接池和事务管理器。当应用程序在 Tomcat 或 Jetty 中运行时,我们将使用 C3P0 进行池化,使用 Atomikos 进行事务处理。
由于这些不同的子系统,DAO 应该在完全配置的应用服务器环境中进行测试,还是应该在集成测试服务层时处理这些问题?目前我们计划为 DAO 集成测试建立一个带有非 JTA(即资源本地)事务的简单 JDBC 数据源,因此不涉及应用程序服务器......但这让我想知道我们不会发现的环境问题.