BDD 和 Behat 特殊字符

2024-02-29

有类似的问题@Behat 和输入验证场景中的 Gherkin https://stackoverflow.com/questions/6561815/gherkin-in-behat-and-input-validations-scenarios

然而又不一样。

我的问题是我需要场景概述示例或数组

Given I have a problem with data
   | in  | this    | array      |
   | how | can     | I          |
   | add | special | characters | 

大多数特殊字符都可以,但是引号和管道呢?

special characters example: \|!"#$%&/()=?«»'{}[]'`^~*+ºª-_.:,;<>@ł€¶ŧ←↓→øþĸħŋđðßæ|«»¢“”nµ

Thanks


我知道自发布以来已经过去了一年,但今天遇到了类似的问题,我已经发布了我的解决方案here https://groups.google.com/forum/#!topic/behat/hFQAJ6q7Hm8.

我将其复制到此处,以防 Google 群组帖子被删除:

问题

我的 .feature 文件是这样的:

 Then I get a response with "error" equals to "<error>"

 And I get a response with "error" equals to "<error_message>"


 Examples:

 |error                    |  error_message                                                              |

 |NotFoundHttpException    |  Something with quotes "More text here"                     |

正如您所看到的,我正在调用完全相同的步骤来检查文本中包含引号的列之一和不包含引号的列。

当我运行 Behat 测试时,“此处有更多文本”被视为另一个参数,并且 Behat 正在建议另一个片段。

解决方案

为了解决这个问题,我们必须使用另一个与 " 不同的字符来告诉 Behat 存在一个变量,在我的例子中,我使用了单引号。

所以,我改变了 .feature,如下所示:

 Then I get a response with "error" equals to "<error>"

 And I get a response with "error_message" equals to '<error_message>' escaping quotes

 Examples:

 |error                    |  error_message                                                            |

 |NotFoundHttpException    |  Something with quotes "More text here"                     |

然后我更新了我的 php 测试实现,如下所示:

/**
 * @Then I get a response with :attibute equals to :value
 * @Then /^I get a response with "([^"]+)" equals to '([^']+)' escaping quotes$/
 */
public function iGetAResponseWithEqualsTo($attibute, $value)

调用完全相同的实现。

阅读后我提出了这个解决方案这一页 http://knplabs.com/en/blog/behat-like-a-boss-wirting-custom-steps,以防有人需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BDD 和 Behat 特殊字符 的相关文章

  • Cucumber 在运行单个功能时找不到步骤

    我刚刚将 Cucumber 安装到一个新的 Rails 项目中 第一次从头开始设置 并且在运行所有测试时效果非常好 bundle exec cucumber 但当我运行单个功能文件时找不到我的任何步骤 我该如何开始调试这个 rails 3
  • 如何让 VS2010 识别 SpecFlow 生成的 mstest?

    我已将 Specflow 配置为以 MsTest 框架 而不是 NUnit 为目标 方法是在 specs 类库的 app config 中指定它
  • 如何在 ASP.NET MVC 中以 BDD 风格进行单元和集成测试?

    我正在学习使用 ASP NET MVC 进行行为驱动开发 并且基于a post http blog stevensanderson com 2010 03 03 behavior driven development bdd with sp
  • 如何创建 Cucumber 数据表?

    我想使用 Java 而不是 Gherkin 手动设置 Cucumber 数据表 在 Gherkin 中 我的表格如下所示 h1 h2 v1 v2 到目前为止 我的 Java 看起来像这样 List
  • 使用cucumber测试时sql错误无法在事务内启动事务

    我是黄瓜新手 正在学习 BDD 当我尝试填写表单并创建记录时 会显示此 sqlite 错误 尽管当我在浏览器中手动尝试代码时没有错误 我正在使用 Rails 4 这是我的控制器代码 class Admin ItemsController l
  • Symfony2 扩展 - Behat Mink

    我为 Behat Mink 安装了 Symfony2 扩展here http extensions behat org symfony2 当我运行测试时 出现错误 ReflectionException 类 AppKernel 不存在 我究
  • cucumber.js 并且不是一个函数

    我正在练习使用 cucumber js 通过 BDD 编写一些单元测试 当我尝试使用 And 语句时 该错误表明 TypeError And is not a function 这是我的代码 feature Feature dataTabl
  • 如何在 Resharper 4.5 中使用 bdd 命名样式?

    我刚刚升级到 Resharper 4 5 现在看到我所有的 BDDish 测试方法都被标记为不符合命名标准 我的命名约定是这样的 public void Something ShouldHaveThisResult Resharper 不喜
  • Cucumber IDE 可以自动完成功能编写吗?

    有没有Eclipse插件可以用来写黄瓜的特点 http github com aslakhellesoy cucumber wiki feature introduction具有自动完成功能 我想从其他功能中找到并重用步骤会很好 有任何想法
  • 尝试理解 Jasmine 的 toHaveBeenCalled() 匹配器

    我是新来的jasmine这是我的src我在其中创建的文件Auth class function Auth Auth prototype isEmpty function str return str 0 str length Auth pr
  • Gherkin/Cucumber 是否有“foreach”或等效语法?

    小黄瓜是否有等效的 对于每个 声明 在以下场景中 我正在测试的页面有多个日期字段 我想在这些字段上运行相同的测试示例 这是我想要建模的场景 场景大纲 修改日期控件的精度值 Given I have just added a record W
  • BDD 和 Behat 特殊字符

    有类似的问题 Behat 和输入验证场景中的 Gherkin https stackoverflow com questions 6561815 gherkin in behat and input validations scenario
  • 行为 3 中如何在上下文之间进行通信?

    我无法再在版本 3 中使用 getMainContext 和 getSubcontext alias 版本 3 中上下文之间的通信方式是什么 上下文特征是唯一的方式吗 behat yml default suites guest featu
  • Behat“无法识别的选项”

    我正在尝试运行 Behat 对我来说是第一次 并且它成功了 但我有一个配置问题 我尝试更改功能和引导程序的路径 如下所示 behat yml default paths features app tests features bootstr
  • 将外部数据源与 Cucumber 功能文件集成

    我是 Cucumber 及其用于 BDD 的功能文件的新手 我想知道是否有任何方法可以直接给出外部数据文件 例如 CSV 文件 的文件路径 并获取用于创建测试脚本的参数值 您可以向功能添加带有参数的标签 data path data jso
  • 安排行动断言替代方案

    一般问题是单元测试是否有 AAA 的替代模式 如果是的话 看到一些例子并了解它们的优点和缺点将会非常有趣 作为 AAA 测试的最简单示例 在 C 中 为了简单起见 使用 var Arranging var annualSalary 1200
  • 使用 IntelliJ 的 Cucumber 找不到步骤定义

    我遇到了以下问题 我在 IntelliJ 中有四个 Cucumber 功能文件 我通过 IntelliJ 插件添加了 Cucumber 支持 创建功能后 我按如下方式编辑了配置 以便可以执行功能文件 Glue should be the n
  • 茉莉花单元测试 - 测试对象的未定义属性

    我有以下声明 expect A BAR name toEqual foo 由于我的对象 A 具有顶级属性 BAR 并且 bar 具有值 foo 传递 我想测试我的结构以确认属性 NONEXISTINGPROP 尚未定义 例如 expect
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • Symfony2 条件服务声明

    我目前正在尝试找到一个可靠的解决方案来动态更改 Symfony2 服务的依赖关系 详细信息 我有一个服务 它使用 HTTP 驱动程序与外部 API 进行通信 class myAwesomeService private httpDriver

随机推荐

  • mamp mysql 无法启动

    我的 mysql 服务器有问题 当我启动 MAMP 时 Mysql 服务器不会启动 我尝试更改端口但没有帮助 我检查错误日志 发现以下内容 161010 09 21 07 mysqld safe Starting mysqld daemon
  • iPhone iOS UILabel 如何仅自定义 UITableView 详细文本标签的文本颜色?

    我正在开发一个界面原型 并使用故事板来实现 原型的一部分涉及将 UITableView 单元格的详细 UILabel 设置为某种颜色 我想避免必须手动重新着色故事板中的每个标签 我发现我可以使用 UILabel appearanceWhen
  • 多处理中的加入超时

    我有一个虚拟示例 我想在其中应用多重处理 考虑一个场景 其中有一串数字 我称之为帧 逐一传入 我想将其分配给当前可用的任何单个进程 所以我创建了 4 个正在运行的进程while循环 查看队列中是否有任何元素 然后对其应用函数 问题是当我jo
  • 在struts中从Angular 2发送和接收http post数据

    我正在尝试将 http post 数据从 Angular 4 代码发送到 struts 操作 Struts 操作正在被调用 但无法接收数据 给我一个错误 java lang ClassCastException java lang Inte
  • 使用 Swift 将 NSHttpCookie 存储在 iOS 钥匙串中

    我有一个以 HTTP cookie 形式从 Web 服务收到的身份验证令牌 目前 我依赖于 iOS 的默认行为 即将从 HTTP 请求返回的 cookie 存储在NSHTTPCookieStorage保留 cookie 直到用户关闭应用程序
  • 模型和实体有什么区别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很困惑不明白这句话的含义 Entity Model DataModel ViewModel 任何人都可以帮助我理解它们吗 这些术语的
  • 使用正则表达式获取 DIV 内容

    如何使用正则表达式获取 DIV 的内容 我需要得到的是介于两者之间的 div class lv1right dfbg div 这些 div 标签之间还有几个 未明确定义的 标签 我想获取所有这些标签 提前致谢 我会避免对 HTML 使用正则
  • 如何在 Ruby 中获取 Linux 系统信息

    如何在 Ruby 中获取 Linux 系统的软件 硬件信息 这必须适用于 Fedora Ubuntu 等 Chef 背后的优秀人员 拥有一颗名为 Ohai 的优秀宝石https github com opscode ohai https g
  • 这个“ld”错误(“未定义的引用”)是什么意思?

    这个错误是什么意思 tmp ccevEqoI o In function main funcptr c text 0x61 undefined reference to AddALL collect2 ld returned 1 exit
  • GD库占用内存大吗?

    我想在我的 PHP 脚本中使用 GD 库从外部服务器生成随机大图片的小缩略图 每次调用页面时 GD库都会重新生成缩略图并显示 这会减慢服务器速度或消耗异常数量的内存吗 GD使用大量内存 它将图像完全加载到内存中并将其解压缩 因此每个像素至少
  • 什么是 Windows Phone Silverlight 8.1 中作为后台任务的 gHost.Background 任务?

    当我创建新的 Windows Phone SIlverlight 8 1 应用程序时 清单中有一个后台任务
  • RichFaces 4.2 日历。如何通过JavaScript设置日历的InputField?

    我必须将客户端的日期字符串复制到日历输入字段 更新日期输入 以下 JavaScript 不起作用 document getElementById AddressDetails renewal date input value renewal
  • Jquery国际电话号码输入

    我正在尝试遵循 jquery 教程http www jqueryscript net form jQuery International Telephone Input With Flags Dial Codes html http www
  • 在现有 S3 对象上运行 S3-put-triggered Lambda 函数?

    我在 Node js 中有一个 Lambda 函数 用于处理添加到我的存储桶中的新图像 我想为所有现有对象运行该函数 我怎样才能做到这一点 我认为最简单的方法是 重新放置 每个对象 以触发该功能 但我不确定如何执行此操作 需要明确的是 我想
  • 正确分发带有数据库的 Java 应用程序

    我有一个 Java 应用程序 它使用我想要分发的 MySql 数据库 我担心的是 为了分发此应用程序 我需要假设目标系统同时安装了 JRE 和 MySql Server 有什么方法可以将我的应用程序与 JRE 和 MySql 服务器捆绑在一
  • Google Analytics 事件跟踪 - 最大字符串长度

    我正在使用 Google Analytics 来跟踪 Android 应用程序中的事件 我的问题是 事件中的字符串长度是否有限制 我在谷歌的开发指南网站上没有找到任何关于这个主题的信息 此致 Edit 我尝试了一个包含 2000 个字符的字
  • 在 http.Handler ServeHTTP 函数中计算 Go 中发送和接收的字节数?

    如何计算发送和接收的字节数ServeHTTPGo 中的函数 计数需要相对准确 跳过连接建立并不理想 但可以接受 但必须包含标题 它还需要很快 迭代通常太慢 计数本身不需要发生在ServeHTTP 只要给定连接的计数可用于ServeHTTP
  • Python requests.exception.ConnectionError:连接中止“BadStatusLine”

    我正在尝试使用 Python requests 模块发出 Http GET 命令来访问一些基于 REST 的 API 这些 url 在 RESTClient 上工作正常 但是当我在 python 中使用相同的 url 时 出现连接错误 我试
  • 设备像素比到底是什么?

    每一篇关于移动网络的文章都提到了这一点 但我找不到任何地方可以解释这个属性到底衡量什么 任何人都可以详细说明这样的查询会检查什么吗 media only screen and webkit min device pixel ratio 1
  • BDD 和 Behat 特殊字符

    有类似的问题 Behat 和输入验证场景中的 Gherkin https stackoverflow com questions 6561815 gherkin in behat and input validations scenario