DCz*_*Czo 5 lambda intellij-idea cucumber java-8 cucumber-jvm
目前在我们项目的测试中,我们从使用带注释的步骤定义切换,例如:
public class Steps {
@Given("^Step name$")
void methodName() {
// do sth
}
}
Run Code Online (Sandbox Code Playgroud)
到 lambda 表达式:
public class Steps implements En {
public Steps() {
Given("^Step name$", () ->
// do sth
);
}
}
Run Code Online (Sandbox Code Playgroud)
使用 Intellij Cucumber Java 插件时,很容易找到某个步骤的用法,因为它寻找带注释的方法的用法(我推测)。但是,现在我们必须手动搜索作为参数传递的正则表达式。
我的第一个问题是:有没有一种巧妙的方法可以用 lambda 表达式做到这一点?
此外:当使用 Intellij 的工具进行版本控制并提交包含大量步骤定义的文件时,代码分析工具将永远运行(我猜这是因为构造函数必须启动大量代码)。
所以第二个问题是:既然步骤库没有缩小的可能性,并且经常使用步骤用法搜索,那么切换回 Ye Olde Way 即使用带注释的方法不是一个好主意吗?