行为驱动开发(BDD)场景自动化与自动化验收测试全解析
1. 实现步骤定义的一般原则
1.1 正则表达式与变量名的使用
在实现步骤定义时,正则表达式是许多基于Cucumber的工具常用的方式,它非常强大,能让步骤定义的表达具有很大的灵活性。例如:
public enum Status {Gold, Silver, Bronze};
@Given("I am a (.*) Frequent Flyer member")
public void useAMemberWithAGivenStatus(Status status) {
...
}
不过,对于不熟悉正则表达式的开发者来说,它可能会让人望而却步。一些工具如JBehave和SpecFlow提供了更简单、更易读的替代方案,即使用变量名。示例如下:
@Given("I am a $status Frequent Flyer member")
public void useAMemberWithAGivenStatus(Status status) {
...
}
这种方式提高了可读性,但会牺牲一定的灵活性。
1.2 步骤间状态的维护
一个场景包含多个步骤,有时需要在步骤之间传递信息。最简单的方法是在包含步骤定义的类或脚本中使用成员变量。每个新场景执行时,都会创建一个新的步骤定义实例,因此不会出现值被覆盖的情况。
以下是一个示例场景及对应的JBe
超级会员免费看
订阅专栏 解锁全文
57

被折叠的 条评论
为什么被折叠?



