1

我正在开发一个三层应用程序,并且正在为持久层中的 DAO 创建集成测试。当应用程序在 Websphere 或 JBoss 中运行时,我希望使用这些应用程序服务器的连接池和事务管理器。当应用程序在 Tomcat 或 Jetty 中运行时,我们将使用 C3P0 进行池化,使用 Atomikos 进行事务处理。

由于这些不同的子系统,DAO 应该在完全配置的应用服务器环境中进行测试,还是应该在集成测试服务层时处理这些问题?目前我们计划为 DAO 集成测试建立一个带有非 JTA(即资源本地)事务的简单 JDBC 数据源,因此不涉及应用程序服务器......但这让我想知道我们不会发现的环境问题.

4

2 回答 2

2

除了使用单元测试测试每个模块外,集成测试还应该测试模块组。

我不想学究气,但理论上这是QA 对黑盒测试的系统测试。

对于较小的项目,这可能不可行

于 2010-06-07T05:57:30.150 回答
1

我认为你的思路是正确的。如果可能,您应该设置一个运行您的生产环境的持续集成服务器(例如Hudson )。这样,您就可以使用 Tomcat 等非常自信地进行开发,针对您的本地设置运行测试,并且当您签入代码时,请确保这些相同的测试正在针对真实交易运行。

于 2010-06-07T05:53:52.997 回答