我们有一个在 Tomcat 7 上运行的 Java Web 项目,我们使用 Maven 作为我们的构建工具。在我们的实际测试过程中,我们需要做一些手动步骤来构建我们的测试环境项目:
mvn clean package -P production
.http://192.168.0.105:8080/manager/html
使用 Web 浏览器访问我们将在其中部署 war 文件的本地 PC 。我们想要实现的是尽可能少的手动过程,例如运行像mvn deployTest -DtestId=SC-1550
这样的命令将执行以下步骤:
https://localhost:8443/TESTID
并开始测试。这样,我们就可以准备好多个功能进行测试,只需要使用测试问题 ID 访问正确的地址即可。maven-tomcat7
我们测试机特定IP地址中的插件将war文件部署到Tomcat 7mvn deployTest -DtestId=SC-1550
这样做,我们将大部分手动过程替换为单个命令,从而加快了测试速度。
我的问题是,是否有一种方法可以通过配置 pom 文件或使用插件甚至实现我们自己的插件来通过单个命令执行此步骤来自动化此过程。
回答@avojak 并有动机地更新问题:
我们是一家小型初创公司,我们的产品处于早期到中期阶段。直到现在我们才专注于测试自动化,所以我们几乎没有,甚至没有基本的单元测试。出于这个原因,我们所有的测试都是以探索性的方式进行的,跳过单元和集成测试,直到我们实现它。与此同时,我们正在使用 JIRA 工具实施 Scrum。我们确定将有一个步骤让我们的产品负责人检查该功能是否按预期工作(QA 步骤),这就是为什么我想将 JIRA 问题与 war 文件名联系起来,他可以直接访问我们的测试服务器带有要测试的问题的 id。
...是否有办法通过配置 pom 文件,或使用插件甚至实现我们自己的插件来自动执行此过程,以使用单个命令执行此步骤
您不需要为此创建或使用更多插件。听起来您已经将 pom 配置为执行单元和集成测试,这对于自动构建来说应该足够了。
如果您还没有选择持续集成工具(Jenkins、Travis CI、Gitlab CI 等),请看一看。您可以将这些工具配置为在签入(或推送、PR 合并等)代码时自动运行作业。该作业将运行您需要的任何 Maven 命令,并将处理构建、测试、部署工件,而无需任何手动交互。
我严重质疑为什么您需要指定特定的测试 ID 并对 WAR 进行手动测试。听起来您需要重新考虑您的测试策略。您尝试测试哪些不能是自动化集成测试的内容?如果您的答案是特定的工作流程或用例,听起来您需要一个更全面的集成测试套件。此外,如果一切都是自动化的,则没有理由不总是运行一整套测试,而不是指定要运行的单个测试。
根据问题编辑进行编辑:
我们是一家小型初创公司,我们的产品处于早期到中期阶段。直到现在我们才专注于测试自动化,所以我们几乎没有,甚至没有基本的单元测试。出于这个原因,我们所有的测试都是以探索性的方式进行的,跳过单元和集成测试,直到我们实现它
哎呀。良好的测试应该是您的最高开发优先事项之一。推迟它太容易了,然后永远不会进行适当的测试,直到为时已晚并且您的消费者/客户遇到严重缺陷。让时间投资,要写出好的测试现在!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句