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