我一直试图在集成测试阶段运行一些Selenium系统测试用例。我希望Cargo将WAR部署到本地Jetty安装。然后我希望我的测试用例运行,使用Spring配置文件的测试版本。目标是针对Web应用程序运行测试,模拟所有外部依赖项,并使用HSQL作为数据库。
我认为这种方法是错误的:我认为在此阶段创建的WAR文件是“生产WAR”,它不包括测试资源。这样做的最佳方式是什么?在POM中创建一个新的配置文件,在“测试”阶段构建WAR的“测试版本”?是否有任何示例显示如何执行此操作?我应该采取不同的方法吗?
答案 0 :(得分:0)
我会使用不同的方法。使用“测试资源”进行测试的问题在于您没有测试实际应用程序。可能有很多“代码”在您的资源中很重要,特别是如果您使用的是Spring。 我将使用特殊配置测试“生产WAR”以进行测试。每个外部系统(数据库,外部Web服务等)都应该是可配置的(使用JNDI,外部配置文件等),而不是在WAR中硬编码。
以下maven配置应该可以完成工作:
当然,您还需要启动所有其他外部系统的模拟版本。