我正在开发一个三层应用程序,并且正在为持久层中的DAO创建集成测试。当应用程序在Websphere或JBoss中运行时,我希望使用这些应用程序服务器的连接池和事务管理器。当应用程序在Tomcat或Jetty中运行时,我们将使用C3P0进行池化,使用Atomikos进行事务处理。
由于这些不同的子系统,DAO应该在完全配置的应用服务器环境中进行测试,还是应该在集成测试服务层时处理这些问题?目前我们计划使用非JTA(即资源本地)事务为DAO集成测试设置一个简单的JDBC数据源,因此不涉及应用程序服务器......但是这让我想知道我们不会发现的环境问题
答案 0 :(得分:2)
答案 1 :(得分:1)
我认为你已经走上了正确的思路。如果可能,您应该设置运行生产环境的持续集成服务器(例如Hudson)。这样你就可以使用Tomcat等进行高可信度的开发,针对你的本地设置运行测试,当你签入代码时,确保那些相同的测试是针对真实交易运行的。