Specflow入门-(4)Step与StepDefinition的对应关系

本文介绍了Specflow如何通过正则表达式将自然语言描述的Steps与StepDefinition函数对应起来,形成可执行的测试用例。通过示例展示了StepDefinition的多对一关系,即一个StepDefinition可以对应多个Step,但一个Step只能对应一个StepDefinition。同时解释了Step中的行为词与StepDefinition函数特性的匹配原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

至此,我们已经完成了一个将自然语言描述的信息(Feature)转换为一个可执行用例(Test case)的过程。这个过程中,Spec flow就起了一个将自然语言描述的功能说明或用户故事链接到了一个可执行的测试用例的作用。


当我们在Feature文件中的某个Step上右击单击转到定义(或使用F12按键),就会跳转到该Step对应的StepDefinition函数


这个链接的关系是靠正则表达式去匹配的。

注意到,Step的描述为:

Given I have entered 50 into the calculator

而StepDefinition的函数有一个名为Given的特性修饰

[Given("I have entered (.*) into the calculator")]

其中特性Given的参数就是一个正则表达式,I have entered (.*) into the calculator

其中的.表示能匹配任意字符,而*表示匹配0次或多次,这样Step描述中的50就可以作为可变的字符。

举个例子

            // 正则表达式
            string regex = "I have entered (.*) into the calculator";

            // 可匹配的文本1- 变化为空,没
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值