为了账号安全,请及时绑定邮箱和手机立即绑定

为两个具有不同语句的 GIVEN 获取多个匹配绑定

为两个具有不同语句的 GIVEN 获取多个匹配绑定

Go
慕虎7371278 2022-11-21 20:16:26
我在 Specflow 中编写了两个场景,一个用于 UI,另一个用于 API。场景和步骤定义如下:Scenario 1:@RegressionScenario Outline: Add Single New External UserGiven the <role> is logged on to the portal with <email> and <password>When the <role> clicks on profile avatarSomething....Scenario 2:@GetClientListScenario Outline: GET API response for fetching list of Clients matching  criteria entered in the Search Text fieldGiven the <endpoint>When I call Get methodSomething....Step Definitions:[Given(@"the (.*) is logged on to the portal with (.*) and (.*)")]public void GivenLoginToPortal(string role, string email, string password) {    //Something }[Given(@"the (.*)")]public void GivenTheEndpoint(string endpoint) {     Endpoint = endpoint; }在这里,当我导航到第一个场景中 Given 语句的步骤定义时,它显示找到多个匹配绑定的警告......并且多个匹配绑定引用第二个 Given 语句的步骤定义。但我相信既然两个 Given 语句都不同,那么为什么第一个 Given 会抛出多个匹配绑定?
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

作为 Given- 属性参数的字符串是一个正则表达式。并且 (.*) 在 Regex 中是包罗万象的。因此,以 开头的每个步骤the都将匹配此绑定。

我建议您将 step 更改为 line the endpoint with name '(.*)'

另外一个最佳做法是用单引号将您的参数括起来'。捕获参数更容易,VS 扩展可以更好地建议绑定骨架代码。


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信