spring - Karate如何在Azure管道中启动应用程序?

标签 spring azure maven azure-devops karate

我已关注How to Run Karate API tests on Azure pipelines在 azure 管道上设置 Karate 。

我们需要首先启动应用程序才能运行 Karate 测试。

  1. 假设我有一个公开可用的开发 API,并且有一些新的更改需要合并。

    在此开发环境上进行测试仍然没有意义,因为新功能的新 Karate 测试用例尚未在开发人员上可用,当然 Karate 测试将会失败。。 p>

  2. 如果我们看 example projects他们都排除 Karate 测试文件。排除他们的理由是什么?我们是否应该包含它们,以便在管道期间运行 Karate 测试?

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
            <excludes>
                <exclude>karate/**/*.java</exclude>
            </excludes>
            <includes>
                <include>com/**/*.java</include>
            </includes>
        </configuration>
    </plugin>
    

最佳答案

您可以在azure中使用maven命令来运行 Karate 测试,因为我正确理解了您的要求。

但是,如果您需要不同的步骤来构建应用程序和运行测试,则需要按顺序在管道中执行两个步骤,例如创建 bash 脚本或类似的内容。也许您可以使用 Makefile 和 make 命令来构建并运行您的测试,例如;

build-and-run:
     mvn (run app command) && mvn clean test -Dtest=myRunner

目前,我正在使用 azure devops 运行一些 Karate 测试,但我的测试不需要 make 应用程序,因为它们是针对临时环境运行的。我使用此步骤来运行 Karate 测试:

    - task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    goals: 'clean test -Dusername=$(USERNAME) -Dpassword=$(PASSWORD)'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    mavenVersionOption: 'Default'
    mavenOptions: '-Xmx3072m'
    mavenAuthenticateFeed: false
    effectivePomSkip: false
    sonarQubeRunAnalysis: false

这是由 azure devops 自动生成的,我只是输入了我的运行命令

关于spring - Karate如何在Azure管道中启动应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71169372/

相关文章:

java - Controller 类中的 Spring MVC 本地化不起作用

spring - ConversionNotSupportedException : Failed to convert property value of type 'grails.spring.BeanBuilder' to required type 'java.lang.String'

java - Spring Tool Suite 和 Spring Configurator - 目录结构

azure - 无法从 Azure Spark 群集写入 Blob 存储

具有多个查询点的 Azure 存储表设计

node.js - 在 azure blob 容器之间复制文件

java - 使用 schemaLocation 引用位于 jar 中的 XSD?

java - Maven 在 Test-Jar 中找不到包

java - 如何使用 Apache httpComponent5 设置 Spring HttpComponentsClientHttpRequestFactory?

java - 如何为测试进行不同的 Hibernate 配置?