其他语言的 Cucumber lambda

Cucumber lambdas for other languages

步骤定义pre-Java8的经典方式允许您使用其他语言的实际关键字进行注释。

@前提("totally new stuff")
public void totallyNewStuff() {
    System.out.println("hello world")
}

Java 8 lambda 相当于什么?

我假设如果我像这样简单地用英语编写步骤定义,Cucumber 测试会起作用:

Given("totally new stuff",() -> System.out.println("hello world"));

但这会破坏本地化 Gherkin 的目的。

对于日语,您实现 Ja 接口而不是 En 接口。但是使用 前提Given 没有任何功能上的区别是毫无意义的。无论关键字如何匹配步骤。

import io.cucumber.java8.Ja;

public class RpnCalculatorSteps implements Ja {
    private RpnCalculator calc;

    public RpnCalculatorSteps() {

        前提("totally new stuff", () -> {

        });
    }
}