首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cucumber转换以排除cucumber表

Cucumber转换以排除cucumber表
EN

Stack Overflow用户
提问于 2016-02-22 19:03:56
回答 1查看 122关注 0票数 0

我想在我的黄瓜框架中进行一个转换,每当我给出“测试测试”时,我应该在我的步骤定义中得到test_test。

我写了一个如下的转换:

SPACE_TO_UNDERSCORE = Transform /^([^"]* [^"]*)$/ do |string| string.tr!(" ", "_") end

这让我迈出了一步:

And the user selects yes to "dual nationality" on "edit user" details page

And(/^the user selects yes to "([^"]*)" on "([^"]*)" details page$/) do |field,page| # field is now dual_nationality # page is now edit_user end

它可以工作,但唯一的问题是它还捕获了黄瓜表的步骤,如下所示,并将table转换为table:case_number字符串。如果不使用转换,则tableCucumber::MultilineArgument::DataTable。因此,如果转换与其内容相匹配,则转换显然会影响该表。

在可以排除表内容的transform中,有什么方法可以做到这一点吗?

When the user loads a url with below case details | case number | | 154745 |

When(/^the user loads a url with below case details$/) do |table| #table => "table:case_number" end

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 00:00:09

我建议不要像这样编写场景步骤,并避免转换。你的步骤解释了用户是如何说他们是双重国籍的。它不需要这样做。考虑一下:

代码语言:javascript
复制
Given the user has dual nationality
Given I am a dual national
When the user confirms their dual nationality
When I confirm my dual nationality

当然,还有许多其他方式来表达这一点。

所有这些步骤都不需要转换,也不需要正则表达式,只需执行如下操作即可轻松实现

代码语言:javascript
复制
find_by_css('#dual_national').set(true)

假设您有一个dual_national复选框。

一般来说,每次你在你的场景中详细描述“如何”做事情的时候,你只会让你自己的生活变得更加困难。在使用Cucumber时,不需要使用表、转换,甚至(大多数情况下)正则表达式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35551964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档