karate - 执行空手道测试套件
问题描述
我正在为空手道的小型演示做准备,我有以下 git 项目https://github.com/TheRasanjana/karateTesting。我正在构建一个具有多个功能的测试套件。我有模拟products.feature,我正在用我的productRunner.java 调用它。由于我希望将来将其与 jenkins 集成,因此我希望将它们全部作为单个测试套件执行。
当我分别运行每个运行器类时,测试运行成功。我在功能之外有一个“AllTest.java”运行器类,可以使用命令“mvn test -Dtest=AllTest”将它们全部作为一个套件运行。但在这种情况下,它不会调用模拟。我是否也必须调用 AllTests.java 中的模拟?
将所有功能作为一个套件运行的正确方法是什么?
解决方案
在 CI 中运行模拟的最佳方法是 a) 使用 JUnit 和 b) 在测试执行中包含 JUnit 类。因此,您需要做的就是mvn test
停止引用任何特定的测试运行器类。
实际上如果你重命名productsRunner
的ProductsTest
东西很可能会按照你期望的方式开始工作。如果您添加@ignore
到products.feature
(因此它们被排除在外AllTest
并在您中使用@KarateOptions(features = "classpath:features/products/products.feature")
,ProductsTest
那么您就全部设置好了。
空手道回归测试使用替代方法,其中ProductsRunner
明确添加maven-surefire
到pom.xml
.
<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>
推荐阅读
- typescript - 元组类型中的剩余元素必须位于最后
- vba - 通过 Exchange Online VBA 发送电子邮件
- amazon-elastic-beanstalk - 如何在 Amazon Elastic Beanstalk 上将 X-Forwarded-Proto 设置为 https
- android - Android:如何将深度图嵌入到图像中?
- r - 如何对数据集 CSV 文件执行计算?
- python - 如何在 Django 中获取特定用户的信息(我想获取现在登录的特定用户的约会历史记录)
- cmake - 如何在cmake中使用正则表达式?
- android - 全屏标志不适用于片段
- python - MNIST 的 TensorFlow 密集层输入数据形状
- php - 按时间戳按foreach顺序输出json