是否可以将黄瓜特征文件的步骤存储在java集合中?

时间:2017-08-07 16:21:02

标签: java cucumber

我希望通过黄瓜功能进行迭代,并将场景存储在java中的HashMap集合中。我试图找出如何但没有运气,可以做到吗?是否有关于如何做到的教程或指南?

2 个答案:

答案 0 :(得分:0)

不确定是否有直接访问步骤的方法,但您可以尝试此解决方法。

Scenario对象传递给Before hook。 Scenario对象有两个方法 - getUri(),它们可以为您提供包含当前正在执行的方案的功能文件的路径,以及getLines(),它返回当前方案的行号列表。

然后,您可以解析要素文件并获取相关行。

这应该适用于最新的黄瓜版本1.2.5,虽然我还没有测试过。在旧版本中,您可以查看场景的getName()和getId()方法。

答案 1 :(得分:0)

您可以编写@Before步骤,如下所示:

@Before
public void before(Scenario scenario) {
    String scenarioName = scenario.getName();
    System.out.println("Scenario: " + scenarioName);
}

这将打印方案名称。您可以轻松地将名称添加到Hashmap中。我使用了cucumber-java 1.2.5