【问题标题】:Multiple classes inside step definition package in cucumber黄瓜中步骤定义包内的多个类
【发布时间】:2018-10-11 09:56:54
【问题描述】:

我有一个满足 API 和 UI 功能文件的黄瓜框架。所以,我有 2 个功能文件,一个用于 API,另一个用于 UI。同样,我在步骤定义文件夹中创建了 2 个类,一个用于 UI,另一个用于 API。 所以结构如下所示:

功能文件

--API 功能文件

--UI 的特征文件

步骤定义

--stepDefAPI

--stepDefUI

TestRunner

--UITestRunner

--APITestRunner

两者的胶水代码都是stepDefinition,但是,如果我运行APITestRunner,它会说在特定项目中找不到测试类。但是,当我将 stepDefAPI 隔离在其他包中并且只将 stepDefUI 留在该包中时,它可以正常工作。 我可以推断它正在发生,因为这两个类都在同一个包中,黄瓜不支持这种结构吗?

【问题讨论】:

    标签: java cucumber bdd


    【解决方案1】:

    Cucumber 会加载目录和子目录中的胶水。如果您想为 UI 和 API 使用不同的步骤定义,请在 stepDefinition 包中创建两个子目录,并将每个相关目录提供给相关运行器。 IE。 UI 运行器的 UI 目录和 API 运行器的 API 目录。

    【讨论】:

    • 如果我想同时运行我的 API 和 UI 测试用例怎么办?如果我创建单独的目录,那么我不能使用单个 testRunner 文件运行两个测试用例?
    • 你能提供stepDefAPIstepDefUI的代码吗?我不确定你想做什么。
    • 由于我公司的一些安全问题,无法共享代码,对此深表歉意。
    • 但是,我们可以在一个 step def 包中拥有多个 step 定义类,对吧?
    • 是的,你可以。要同时运行 API 和 UI 测试用例,您可以创建 2 个单独的运行器并同时运行它们。从您的 IDE(我使用 IntelliJ)中,您应该能够通过选择它们并选择“运行”来做到这一点。在我们的构建服务器上,我们使用 Surefire 运行多个运行器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    相关资源
    最近更新 更多