是否可以从黄瓜功能文件传递Java-Enum作为参数

时间:2016-01-11 09:33:36

标签: selenium enums cucumber cucumber-jvm cucumber-java

我目前正在使用selenium和Java,并希望实现黄瓜以使测试脚本更具可读性。 目前在将参数传递给java方法时面临问题,其中Enum被期望作为参数。 我还想知道是否有任何其他已知的限制黄瓜-java forfor current current framework。

因为我是黄瓜的新手任何人都知道有关黄瓜的良好来源,请给我一个链接。

2 个答案:

答案 0 :(得分:4)

答案是:是的

您可以在场景中使用所有不同类型:基本类型,自己的类(POJO),枚举,...

场景:

Feature: Setup Enum and Print value
      In order to manage my Enum
      As a System Admin
      I want to get the Enum

      Scenario: Verify Enum Print
      When I supply enum value "GET"

步骤定义代码:

import cucumber.api.java.en.When;

public class EnumTest {

    @When("^I supply enum value \"([^\"]*)\"$")
    public void i_supply_enum_value(TestEnum arg1) throws Throwable {
        testMyEnum(arg1);
    }

    public enum TestEnum {
        GET,
        POST,
        PATCH
    }

    protected void testMyEnum(TestEnum testEnumValue) {

        switch (testEnumValue) {
            case GET:
                System.out.println("Enum Value GET");
                break;
            case POST:
                System.out.println("Enum Value POST");
                break;
            default:
                System.out.println("Enum Value PATCH");
                break;
        }

    }

}

让我知道你是怎么做的。我可以试着帮助你。

答案 1 :(得分:-1)

最新的io.cucumber maven组不再支持此功能 https://github.com/cucumber/cucumber-jvm/issues/1393