执行空手道测试套件

Executing Karate Test suite

我正准备进行空手道的小型演示,并且我有以下 git 项目 https://github.com/TheRasanjana/karateTesting。我正在构建一个具有多种功能的测试套件。我有 mock-products.feature,我正在用我的 productRunner.java 调用它。因为我希望将来将它与 jenkins 集成,所以我想将它们作为一个测试套件来执行。

当我 运行 每个 运行 和 class 分开时,测试 运行 成功。我有一个 "AllTest.java" 运行ner class 在功能之外 运行 它们都作为一个带有命令 "mvn test -Dtest=AllTest" 的套件。但在那种情况下,它不会调用模拟。我是否也必须调用 AllTests.java 中的模拟?

运行将所有功能整合为一个套件的正确方法是什么?

在 CI 中进行 运行 模拟的最佳方法是 a) 使用 JUnit 和 b) 在测试执行中包含 JUnit classes。所以你需要做的就是 mvn test 并且你可以停止引用任何特定的测试-运行ner class.

实际上,如果您将 productsRunner 重命名为 ProductsTest,事情可能会按照您预期的方式开始工作。如果您将 @ignore 添加到 products.feature(因此它们被排除在 AllTest 中并在 ProductsTest 中使用 @KarateOptions(features = "classpath:features/products/products.feature") 就可以了。

空手道回归测试使用替代方法,其中 ProductsRunner 明确添加到 pom.xmlmaven-surefire 部分。

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surefire.version}</version>
                <configuration>
                    <includes>
                        <include>demo/DemoTestParallel.java</include>
                        <include>mock/contract/*Test.java</include>
                        <include>mock/micro/*Runner.java</include>
                        <include>mock/proxy/*Runner.java</include>
                        <include>ssl/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>   

example and read the documentation: https://github.com/intuit/karate#command-line