如何从不同的 main 方法调用 Cucumber 运行程序类

2023-12-13

我是使用命令行界面的新手。所以我只是有一个关于如何使用 CLI 技术调用 Cucumber 的 runner 类的问题。

我有一个 Java 程序,其中包含一个 main 方法。当测试人员传递测试用例参数时,它将获取功能文件。 java 程序调用一个定制的 API,它将获取正确的功能文件。

接下来,我必须调用 Cucumber 运行程序类来执行测试用例。我需要传递这个特定的功能文件作为参数。有两个问题,我们可以从不同的 main 方法调用 runner 类吗?我做了一些研究,但无法找到具体的答案。 两个问题,

  1. 黄瓜.api.cli.Main.main(参数);那么我如何指定我的跑步者类的 jar 位置。

    `FeatureFileCreation.main("xxxxx"); - 获取正确特征文件的API String[] 参数 = {"-", ""}; 黄瓜.api.cli.Main.main(参数);

    • 如何指定我的 jar 所在的位置?我如何传递我的功能文件?
  2. 我应该在 runner 类中创建一个像这样的 main 方法吗?为了使用 CLI,因为我需要创建一个可运行的 jar。我的跑步者类中应该有一个主要方法。

`

@RunWith(Cucumber.class)
@Cucumber.Options(features="C:/Users/IBM_ADMIN/Desktop/CRAutomation/CR Regression1/src/My.feature",glue={"bell.canada.step.definition"})

public class AutomationRunnerAction { 

    public void main(){
    }
}`

请注意,获取正确的功能文件是 1 java API。我将从一个 java 程序的一个主要方法调用该 API。具有步骤定义和方法的运行器类是一个 diff java 程序。


不幸的是接受的答案不正确。如果你看一下source of Main.main()你会注意到它包含:System.exit(exitstatus)这会终止系统。

以编程方式运行命令行的正确方法是使用Main.run()像这样:

String [] argv = new String[]{ "-g","","./src/main/java/featureDetails/Testing.feature"};
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
byte exitstatus = Main.run(argv, contextClassLoader);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从不同的 main 方法调用 Cucumber 运行程序类 的相关文章

随机推荐

  • 如何向 FeathersJS 套接字连接添加参数

    我正在开发一个使用 FeathersJS 服务器的应用程序 以及一个使用 FeathersJS Socket io 客户端连接到服务器的 Electron 应用程序 我想使用 Electron 应用程序中的通道在服务器中的某些数据发生更改时
  • 将 python 中的数据框重塑为 3D

    我正在尝试将手写字符数据集重塑为 3D 形式 以便它可以与数字识别数据集连接起来 我尝试了多次 但我不知道如何做到这一点 实际的数字识别数据集的形状为 60000 28 28 字符识别数据集的形状为 372450 785 第一列是目标变量
  • 在 C++ 中从 YUV 转换为 RGB (android-ndk)

    我在 android 中开发 想要将相机的预览回调中的字节数组 YUV 格式 转换为 rgb 格式 我已经使用了这个答案中给出的函数 在Android中从视频图像获取帧 它在java中完美运行 但我的问题是我想在c 中创建该函数 我正在使用
  • mechanize (python) 单击 javascript 类型链接

    是否可以让 mechanize 跟随 javascript 类型的锚链接 我正在尝试使用 mechanize 和 beautifulsoup 登录 python 网站 这是锚链接 a href a
  • 如何在基于 Spring Java 的配置中放置带有正则表达式的 URL

    在 Spring Security XML 配置文件中 我有类似的内容
  • SQLite条件

    我只想将这个函数查询从navicat转换为sqlite查询 Select from tbl sample where ID 1 And IF RECEIPT MODE MANUAL DATE a MANUAL COLLECTION DATE
  • Karate API - 为什么响应不返回调用的功能文件

    我通过传递 un pwd 和端点 url 从后台标签下的另一个功能调用登录功能 如下所示 登录功能已成功运行 但其响应未返回到调用的功能文件 Add Feature Adding products Background table logi
  • java.util.date 错误?

    java util Date 是否有错误 在进行一些测试时 我将毫秒设置为 2147483647 应该给我一个日期 2038 01 19 03 14 07 但它返回的是 1970 01 25 20 31 23 还尝试了 4294967295
  • 不同环境下不同DB名的跨库查询?

    您将如何在不同环境中处理跨数据库查询 例如 db1 development 和 db2 development db1 product 和 db2 product 如果我想在开发过程中执行从 db2 到 db1 的跨数据库查询 我可以使用完
  • 使用 sqoop 导入 Hive 时出现文件存在错误

    我正在尝试将 Retail db 数据库表复制到我已经创建的 Hive 数据库中 当我执行以下代码时 sqoop import all tables num mappers 1 connect jdbc mysql quickstart c
  • 从连接表中过滤

    我在执行一个棘手的 SQL 查询时遇到了一些麻烦 在我的 MySQL 数据库中 有主题表 标签和标签主题来连接它们 我想获取共享相同指定标签的主题 例如 假设我有 3 个标签 id 分别为 1 2 和 3 我想获取与标签 1 2 和 3 关
  • JavaScript 定时器

    我正在尝试使以下 JavaScript 计时器只需单击一个按钮即可执行两个功能 一旦计时器启动 请单击 再次点击 它停止了 单击第三次 它会再次启动 依此类推 我在这里做错了什么 预先非常感谢您
  • Python列表理解-访问最后创建的元素

    是否可以访问 a 中生成的前一个元素列表理解 我正在研究一些玩具加密的东西 将密钥指定为任意大整数 初始化值和元素列表作为要加密的消息 我需要将每个元素与前一个加密元素和密钥进行异或 下面的循环就可以了 previous initializ
  • 由于大文件上传而重置连接,但配置应允许上传

    我在尝试在 MVC 项目中上传大于 4 兆的文件时遇到错误 对于较小的文件 上传效果很好 在网上查了一下 我发现我应该添加
  • Rails 3 - 如何处理 PG 错误不完整的多字节字符

    在 Rails 3 2 应用程序 Ruby 1 9 2 中 我收到以下错误 mobile users update 中发生 PGError 不完整的多字节字符 这些是 Postgres 错误 但是在开发和测试模式下测试时我遇到类似的 SQL
  • 如何避免db not close和cursor异常

    02 02 14 31 34 048 WARN SQLiteCompiledSql 359 Releasing statement in a finalizer Please ensure that you explicitly call
  • 修复 StackOverflow 错误

    我开发了一个应用程序 其中有 4 个选项卡 A B C D 每个选项卡都包含一个活动 在第四个选项卡 D 中 我添加了一个 ActivityGroup 其中还有 3 个活动 X Y Z 在第四个选项卡中 我添加了活动组 但出现 StackO
  • 保持输入占位符始终可见

    我正在尝试对网站中的所有输入进行样式设置 当它们具有值或具有焦点时 占位符将成为输入的标题 它移动到输入的顶部 但浏览器的默认行为会隐藏当有数据时占位符 我真的想远离 JS 解决方案 当前结果 我的CSS input focus webki
  • Java Manifest.mf 类路径问题

    我一直在尝试运行一个 jar 文件 我们称之为 test jar 它在 Unix 系统上使用 Sybase jconn3 jar 我创建了一个 MANIFEST MF 文件 其中包含以下内容 Class Path SYBASE jConne
  • 如何从不同的 main 方法调用 Cucumber 运行程序类

    我是使用命令行界面的新手 所以我只是有一个关于如何使用 CLI 技术调用 Cucumber 的 runner 类的问题 我有一个 Java 程序 其中包含一个 main 方法 当测试人员传递测试用例参数时 它将获取功能文件 java 程序调