1

假设我们有一个由一些 Eclipse 项目和 Spring 3.1 组成的项目,最终结果是一个 WAR 文件。我们使用 WTP 进行开发。所有的单元测试和集成测试都在工作(我们的 Maven 会自动完成)。该项目在具有本地配置的 WTP 中运行。换句话说,一切看起来都准备好了。

现在我们要测试使用不同平台的不同配置文件集运行该 WAR 文件。测试应该只启动上下文并查看是否会导致任何问题(属性文件中缺少/拼写错误的属性,用于自动装配的太多 bean,...)。AFAIK 没有必要访问(或访问)外部世界。基本上它应该只启动上下文,关闭它并继续下一个配置。如果一个上下文失败,构建应该会中断。

我们应该怎么做?我们可以用 Maven 做到这一点吗?外部的东西?

编辑:忘了说:我们将使用 Tomcat 6 运行我们的东西。

4

1 回答 1

0

听起来你在谈论集成测试。你应该看看这个故障安全插件: http ://maven.apache.org/surefire/maven-failsafe-plugin/usage.html

使用 jetty 和 maven-failsafe-plugin 您需要将 jetty:run、jetty:run-exploded 或 jetty:run-war 之一绑定到 pre-integration-test 阶段,并将 deamon 设置为 true,将 failsafe:integration-test 绑定到集成测试阶段,将 jetty:stop 绑定到集成测试后阶段,最后将 failsafe:verify 绑定到验证阶段。这是一个例子:

另一种可能性是硒测试。Selenium 测试要求在运行测试之前部署和运行战争。所以有插件可以做到这一切。然后你会有一个非常简单的 selenium 测试用例,它只是向应用程序发出一个简单的 http 请求以查看它是否正在运行。

您将为要测试的每个不同配置使用不同的配置文件。

于 2012-11-15T19:50:50.870 回答