【发布时间】:2017-11-27 15:58:59
【问题描述】:
我们有一个在 Tomcat 7 上运行的 Java Web 项目,我们使用 Maven 作为我们的构建工具。在我们实际的测试过程中,我们需要做一些手动的步骤来构建我们的测试环境项目:
- 使用要测试的代码检查 git 分支。
- 使用 maven,使用生产配置文件创建运行
mvn clean package -P production的 war 文件。 - 使用网络浏览器访问我们将在其中部署战争文件的本地 PC
http://192.168.0.105:8080/manager/html。 - 上传 maven 生成的 war 文件并等待部署完成。
- 我们的测试人员开始测试
- 如果发现任何问题,我们会修复并重复该过程,直到测试成功
我们想要实现的是尽可能少的手动过程,例如运行mvn deployTest -DtestId=SC-1550 之类的命令将执行以下步骤:
- 运行单元测试
- 运行集成测试
- 在生产配置文件中构建 war 文件
- 使用参数“testId”作为war文件名,所以我们的测试人员将访问
https://localhost:8443/TESTID并开始测试。这样,我们就可以准备好多个功能进行测试,只需要使用测试问题 ID 访问正确的地址即可。 - 使用我们测试机特定IP地址中的
maven-tomcat7插件将war文件部署到Tomcat 7 - 环境已准备好使用新功能进行测试。
- 如果发现任何问题,我们在 git 上提交修复,然后再次运行 maven 命令
mvn deployTest -DtestId=SC-1550
这样做,我们将大部分手动过程替换为单个命令,从而加快了我们的测试速度。
我的问题是,是否有办法通过配置 pom 文件或使用插件甚至实现我们自己的插件来通过单个命令执行此步骤来自动化此过程。
回答@avojak 并带着动机更新问题:
我们是一家小型初创公司,我们的产品处于早期到中期阶段。只是现在我们专注于测试自动化,所以我们几乎没有,甚至没有基本的单元测试。出于这个原因,我们所有的测试都是以探索性的方式进行的,跳过单元和集成测试,直到我们实现它。与此同时,我们正在使用 JIRA 工具实施 Scrum。我们确定会有一个步骤,我们的产品负责人将检查该功能是否按预期工作(QA 步骤),这就是为什么我想将 JIRA 问题与 war 文件名链接起来,他可以在其中直接访问我们的测试服务器带有要测试的问题的 ID。
【问题讨论】:
-
你的问题太宽泛了,有很多方法可以用 Maven 和其他各种工具来实现你所描述的。在任何搜索引擎上环顾四周,您将拥有大量资源。如果您有特定问题,SO 将能够为您提供帮助。您可能想阅读:stackoverflow.com/help/on-topic