如何确定我刚刚在 Cucumber 的 AfterStep 挂钩中执行了哪一步?

2023-12-11

我正在编写一个要在AfterStep黄瓜的回调。

https://github.com/cucumber/cucumber/wiki/Hooks#step-hooks

我怎样才能知道调用这个钩子之前执行了哪一步?


使用gem cucumber 2.1.0和场景轮廓,“Afterstep”中的场景对象只是一个测试结果状态,它不包含步骤的名称。我必须使用包含测试列表的“Before”(在第一步之前调用)。

require 'logger'

$logger = Logger.new(STDOUT)

Before do |scenario|   

    @count = 0       
    @tests = Array.new

    scenario.test_steps.each{|r|
         if( r.name != "AfterStep hook")
              @tests << r
         end
     }
 end

 AfterStep do |scenario|  # run after each step

     $logger.info(@tests[@count].name.green)
     @count += 1;

 end

记录器是必需的,因为“放置”仅在场景大纲结束时显示。

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

如何确定我刚刚在 Cucumber 的 AfterStep 挂钩中执行了哪一步? 的相关文章

  • 如何在 gem 的示例脚本中使用 pry-byebug ?

    我正在制作我的第一个 gem 它不是 Rails 应用程序 而是一个带有一些 AI 的 tic tac toe 库 这样我就可以与一个永远不会输的计算机对手比赛 并在可能的情况下强行获胜 现在我正在尝试调试人工智能中的攻击策略 但我似乎无法
  • 什么是 - 获取的是一个目录 - 错误消息

    我收到这个奇怪的错误 Users gideon Documents ca ruby rubytactoe lib player rb 13 in gets Is a directory spec Errno EISDIR 玩家规格 rb r
  • 使用复选框过滤列表

    我有一个电影列表及其评级 在我的页面顶部 我有一个表单 其中提供了一个复选框列表 其中显示了每个可用的评级 G PG 13 等 一旦用户单击复选框并点击提交 我只想显示所选的电影 在我的索引方法中 我有一个名为的实例变量 filtered
  • RSpec 请求规范发布一个空数组

    我目前正在 Rails 中开发 API 端点 如果我需要的数据无效 我想确保端点响应具有正确的错误状态 我需要一个 id 数组 无效值之一是空数组 Valid vendor district ids 2 4 5 6 Invalid vend
  • ||= 是什么意思? [复制]

    这个问题在这里已经有答案了 我的应用程序控制器中有一个受保护的方法 def current user current user User find by id session user id end 我想知道什么 方法 我一直在努力寻找和找
  • 将 ruby​​ 类转换为模块比使用改进更好的方法?

    Module refine http ruby doc org core 2 0 0 Module html method i refine方法接受一个类和一个块并返回一个细化模块 所以我想我可以定义 class Class def inc
  • Ruby 的字符串并置功能的官方文档在哪里?

    我最近意识到 如果你并置一系列 Ruby 字符串文字 例如 a b c 它相当于这些字符串文字的串联 但是 我在任何地方都找不到这种语言功能的记录 我使用术语 并置 和 串联 进行搜索 但只在几个 StackOverflow 响应中找到了对
  • 在 Rails 中呈现路由错误的 404 页面

    我试图在 Rails 中渲染集成的 404 页面作为例外 我尝试了这个 但仍然收到路由错误页面 posts controller rb def destroy if current user username post email post
  • 一对一的DataMapper关联

    我对 DataMapper 非常陌生 我正在尝试为以下场景创建模型 我有许多用户 有用户名 密码等 他们也可以是玩家或裁判员或两者兼而有之 因此单表继承不是一个选项 基本模型是 class User include DataMapper R
  • Ruby on Rails Webpacker 找不到 asset_pack_path 下的图像

    我在使用 Ruby on Rails Webpacker 在视图中包含图像时遇到问题 当我尝试使用 html img 标签和 asset pack path 在我的视图中插入图像时 出现错误 我的图像位于app javascript ima
  • 如何在 Rails 测试中填充查找表

    我在用Cucumber RSpec and 工厂女工用于测试我的 Rails 应用程序 但我有几个查找表 其中大部分包含static数据 所以我试图找出测试时填充这些的最佳方法 单独做它们FactoryGirl看起来很乏味 我想远离固定装置
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • Ruby 在 Windows 上找不到 sqlite3 驱动程序

    我正在尝试在 Windows 上设置 Ruby on Rails 我正在使用看起来不错的 Flash Rails 发行版 但是 sqlite3 有一个问题 我发现线程告诉我安装版本 1 2 3 安装得很好 我使用的是 ruby 1 9 0
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • Capistrano:deploy.rb 文件重构

    我的deploy rb中有以下代码 namespace app do desc copies the configuration frile from shared config yml to config task copy config
  • Rails 递归地包含 javascripts 资源文件夹

    我了解如何将一个 JavaScript 文件添加到 Rails 资产管道中 只需添加 require filename 到 application js 但是如何在一个文件夹下包含多个 javascript 文件 vendor assets
  • 如何检查字符串是否为有效日期

    我有一个字符串 31 02 2010 并想检查它是否是有效日期 最好的方法是什么 我需要一个方法 如果字符串是有效日期 则返回 true 如果不是 则返回 false require date begin Date parse 31 02
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • 使用 Mountain Lion、Xcode 4.5 和 RVM 安装 Ruby?

    rvm install 1 9 3 with gcc clang 根据建议无法使用 RVM 在 Lion 下安装 Ruby GCC 问题 https stackoverflow com questions 8032824 cant inst
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja

随机推荐

  • Python 中如何确定范围[重复]

    这个问题在这里已经有答案了 为什么第二个函数中的第一个 print 语句会抛出错误x没有定义 x 5 def function a print x def function b print x x 7 print x 运行第一个函数会得到以
  • ubuntu 16.04 nginx 更改 phpmyadmin url 不起作用

    Ubuntu 16 04 5 LTS Xenial 4 18 8 x86 64 linode117 nginx version nginx 1 10 3 Ubuntu php v7 0 32 0ubuntu0 16 04 1 etc ngi
  • matplotlib 在 IPython 中不使用 matplotlibrc 文件

    我最近从 matplotlib v1 5 3 从 v2 0 0 升级 但通过此更改 matplotlib 在绘制图形时似乎不再使用我编辑的 matplotlibrc 文件 当我打开 matplotlibrc 文件时 我看到我的更改实际上已实
  • Shiny - 使用 for 循环插入 UI 在每个输出中返回相同的元素

    我想在我的 Shiny 应用程序中插入非预定义数量的图表 我使用了一个for循环和一系列的insertUI 问题是当我运行它时 文本元素的行为符合预期 但图形都呈现相同的图像 我怎样才能防止这种情况发生 这是一个代表 library shi
  • 复制 TreeView 节点

    我正在尝试将选定的树视图节点复制到剪贴板 以便可以将其粘贴到记事本中 这是我的代码 但它不起作用 TreeNode selNode TreeNode this treeView1 SelectedNode Clipboard SetData
  • 尝试使用正则表达式删除Python中的字符EM DASH“—”(—)

    我得到了这个顽固的 EM DASH 字符 我试图使用正则表达式删除它 但由于某种原因我无法让它工作 这是我正在使用的代码 editedSource re sub r u2014 str source 我在这里做错了什么 我很确定我得到了正确
  • 如何表达复数的四分函数

    确实存在所谓的超操作序列 它的工作原理就像你构建乘法一样a b a a a a a并添加了许多a重复b次 然后是求幂a b a a a a a与许多乘法a重复b次 然后 就出现了四联 表示为指数塔 就像a b a a a a 重复b tim
  • 将具有 Alpha 通道的图像复制到具有自定义背景颜色的剪贴板?

    Code private void Foo Canvas canvas The content is a bit larger Size size new Size canvas ActualWidth 1 1 canvas ActualH
  • x86汇编linux中如何解释系统调用

    我对为什么 如何在 Linux 环境中的 x86 程序集中打印一个值感到困惑 例如 如果我想打印一个值 我会这样做 mov eax 4 mov ebx 1 mov ecx msg mov edx msgLength int 80h 现在我明
  • AKS 创建的服务主体密码过期

    我使用 创建 Kubernetes 集群 功能在 Azure 门户中创建了 AKS 集群 并允许其创建新的服务主体 我开始怀疑该委托人使用的凭证是否过期 为了避免 K8s 在凭证过期时与 Azure 通信出现问题 我开始查看已创建的帐户 如
  • jQuery Mobile 在一个对话框中显示多个对话框

    我已经搜索过 但没有找到这样做的例子 我希望能够为 jQM 打开一个对话框 并在一个对话框内进行逐步过程 我认为这需要将多个对话框加载到一个对话框中 并且不知道这是否可行 我们将 Backbone 与 jQM 结合使用 并希望能够在对话框中
  • 维持 mgo 会话的最佳实践

    我目前正在使用带有 mgo lib 的 mongodb 作为 Web 应用程序 但我不确定我使用它的方式是否良好 package db import gopkg in mgo v2 const MongoServerAddr 192 168
  • pymongo 按日期时间分组

    我试图按日期字段 日期时间 搜索集合和分组记录 我知道 pymongo 将它们转换为背景上的正确类型 ISODate 或类似的东西 问题是 由于日期时间对象具有日期 时间 时区 我如何告诉组运算符仅使用日期部分 因为否则我不会得到所需的分组
  • ASP.NET AJAX 返回 JSON 但未识别为 JSON

    我有这个功能可以让我返回经理列表 function getManagers var jqxhr ajax type POST contentType application json charset utf 8 url webservice
  • 第一个 postLink() 不创建表单

    使用已经存在的代码烘焙成 CRUD 我有以下代码删除一个项目 问题是它说谎了包裹在 FORM 标签中 所以最终发生的是Cake 不包含 postLink 将提交的表单 是否有另一种方法即使在我增加安全设置时仍然可以保持 Cake 基础设施的
  • 用Python发送广播

    我正在尝试学习编写套接字 在Python 3中 我只是尝试从服务器发送广播并从客户端接收它 我的问题是 每当我尝试将数据包发送到 255 255 255 255 时 似乎实际上没有发送任何内容 我尝试使用wireshark查找数据包 但除了
  • 当我复制电子表格时,脚本/触发器不起作用

    我创建了一个电子表格onEdit 基于名为的函数的触发器fillvalues 而且效果很好 我需要制作此电子表格的多个副本 因为它用于制作工作报告 但是当我制作副本时 脚本不起作用 因为触发器处于非活动状态或者需要授权才能运行 如何克服这个
  • 如果 Flask 上不存在表,如何使用 SQLAlchemy 创建表?

    我正在使用 SQLAlchemy 并且有以下代码 Model class User db Model tablename user table args schema task useexisting True id Column Inte
  • 如何矢量化寻找向量中最近的点

    BigList rand 20 3 LittleList rand 5 3 我想为大列表中的每一行找到小列表中 最接近 的行 如欧几里德范数所定义 即 k 3 维度中相应值之间的距离平方和 我可以看到如何使用两个循环来执行此操作 但似乎应该
  • 如何确定我刚刚在 Cucumber 的 AfterStep 挂钩中执行了哪一步?

    我正在编写一个要在AfterStep黄瓜的回调 https github com cucumber cucumber wiki Hooks step hooks 我怎样才能知道调用这个钩子之前执行了哪一步 使用gem cucumber 2