Rails/Devise - 我应该使用 devise 和 rspec 测试什么?

2024-04-22

许多程序员使用 devise 作为他们的身份验证解决方案,我想得到他们的建议:

设计已经经过测试,但我想知道是否需要自己测试一些东西(集成/单元/功能测试?),以便与我的知识进行标准设计集成 (我不熟悉shoulda和cucumber,但我了解一些rspec和factory girls)

谢谢你的建议!!


从单元测试的角度来看,devise提供了2个辅助方法

sign_in @user          # sign_in(resource)
sign_out @user         # sign_out(resource)

您可能需要它们来测试您的控制器操作是否以正确的方式运行,例如不允许您在未登录时创建帖子。

从集成测试的角度来看,定义一堆黄瓜步骤,它们将执行相同的操作sign_in & sign_out看起来像的东西When /^I am signed in as (\w*)$/ do end并使用它来进行实际导航,而不是使用 rspec 提供的 rspec 帮助程序。

那应该很好。

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

Rails/Devise - 我应该使用 devise 和 rspec 测试什么? 的相关文章

  • 如何将openId与rails 3中的设备集成

    我是 Rails 新手 刚刚完成了一个简单的设计设置 我正在寻求实现一些仍然使用核心设计功能集但允许通过 openid 提供商登录而不是 使用电子邮件或用户名注册 的东西 我如何开始使用最新的设计宝石和rails 3 看看devise op
  • 仅适用于安全页面的安全回形针 URL

    我正在尝试找到使回形针网址安全的最佳方法 但仅限于安全页面 例如 显示存储在 S3 中的图像的主页是http mydomain com http mydomain com图像网址是http s3 amazonaws com mydomain
  • 新手:我的例子中的文本替换

    In my 红宝石 on Rails应用程序中 我的助手中有一个方法 它通过以下方式打开文件 content File open myfile txt The 文件内容就好像 my car my seat my age my son my
  • 如何在 Rails 中制作动态下拉菜单?

    我正在开发一个电子商务项目 其中将有用于选择尺寸的单选按钮 我有一个数量下拉菜单 我想根据用户所选尺寸的可用库存使此下拉列表动态化 谁能告诉我如何在 Rails 上做到这一点 不会用大量的 javascript 扰乱我的视图文件 如果您使用
  • Rails 日志太详细

    如何防止 Rails 记录过多日志 这是我的 production log 文件中的典型跟踪 许多部分 缓存命中 它在开发中很有用 但我不希望在我的生产环境中使用它 Started GET redirected true for 46 19
  • Rails 的 Puma Systemd 配置不起作用

    我已经完成了一个使用 Ruby on Rails 构建的应用程序 现在我想将其托管在 AWS 上的 EC2 实例上 我已经为其配置了服务器 并且正在使用pumaHTTP服务器作为应用服务器 在生产中启动应用程序总是需要我运行RAILS EN
  • 使用pluginaweek的state_machine,我可以在事件期间引用activerecord对象吗?

    我正在尝试实现一个 挂起 事件 将对象转换为 挂起状态 但我需要能够 取消暂停 并返回到之前的状态 我向模型添加了 previous state 字段 但我看不到如何在事件块内访问它 这是我试图实现的基本逻辑 event suspend d
  • Capybara 2.0 和 rspec-rails -- 助手在规范/功能中不起作用

    我正在尝试使用辅助模块中的方法 但 rspec 似乎无法识别辅助程序以进行测试spec features 请注意 唯一的更改是spec helper rb正在添加require capybara rspec 我尝试移动helper rb t
  • 运行 rake db:create 时出错:类“Singleton”的未定义方法“extend_object”

    当我跑步时rake db create在我的项目中我收到此错误 NameError undefined method extend object for class Singleton Did you mean extended 这个项目曾
  • 如何编写运行 Rails db:migrate 任务的 rake 任务?

    我想运行 db migrate VERSION 0 然后在我自己的 rake 任务中运行 db migrate 我对如何做到这一点感到困惑 我需要特殊的要求声明吗 我的 rake 任务将驻留在 Rails 应用程序的 lib tasks 目
  • “array.map”是否保留原始顺序?

    我有一个User类has many Jobs 我使用以下代码映射作业 def ranges user jobs map u u start at u end at end 我有一个比较两个数组的规范 my array start1 end1
  • Heroku:无法通过 Bundler 安装 gem

    我尝试使用以下命令将我的 Rails 应用程序推送到 Herokugit push heroku master f命令 我得到这个 Total 0 delta 0 reused 0 delta 0 remote Compressing so
  • 从架构中删除表 - Rails

    我想删除架构中的一个表 我在第一次启动项目时创建了数据库并希望删除该表 这样做的最佳方法是什么 I tried rails g migration drop table installs但这只会创建一个空迁移 Schema create t
  • “rake db:seed”和 rake db:fixtures:load 之间有什么区别

    我是 Ruby 和 Rails 的新手 对某些事情感到好奇 在两个不同的教程中 我看到他们使用不同的方法用基本测试信息填充数据库 一种方法是使用 rake db seed 从包含示例数据的文本文件中提取数据 另一个使用 rake db fi
  • Rails simple_form:自定义输入id

    我想把用Rails simple form生成的几个表单放在一页上 并用javascript对它们进行操作 然而 simple form 为表单中的各个输入生成了相同的 id 因此我想用我自己的 id 替换生成的 id 现在我有一行 和 H
  • 如何设置管理员批准模型的编辑

    我需要一个普通用户可以编辑模型的系统 但编辑实际上只有在管理员批准后才会发生 我发现了一颗宝石 叫做纸迹 https github com airblade paper trail它确实有模型版本控制 但不具体支持我想要做的事情 我想知道其
  • 思考狮身人面像和控制台

    我在 webfaction 上思考 sphinx 时遇到问题 当我在 osx 上本地执行时没有问题 I search gt gt ThinkingSphinx 搜索 雷蒙德 我的回应是这样的 gt 有任何想法吗 thx sg 如果你还没有
  • 如何在 Ruby on Rails 3 中使用 Active Record 搜索文本?

    如何在 Ruby on Rails 中搜索字符串 例如 列包含 文本 的所有记录 Active Record 有方法吗 还是我必须使用 SQL LIKE Model find all conditions gt name LIKE tag
  • RubyMine 不能使用 Guard 吗?

    由于某些无法解释的原因 RubyMine 会自动保存您所做的每一个更改 因此每次击键都会触发 Guard 运行您的测试 最可笑的是 显然没有办法禁用这个自动保存 功能 我只是想知道 RubyMine 似乎是 Rails 开发人员中非常流行的
  • Rails:页面加载时间很长

    我有一个 Rails 项目 我在一个控制器中遇到了非常奇怪的事情 浏览器需要大约 3 分钟来加载页面 但 Rails 在日志中写入 Completed 200 OK in 20563ms Views 17144 2ms ActiveReco

随机推荐

  • 如何使用java上传谷歌云存储中的文件

    我已经尝试使用java在Google云存储中上传文件很长时间了 通过浏览我找到了这段代码 但无法准确理解 任何人都可以定制这个以在 GCS 中上传文件吗 Given InputStream inputStream object data e
  • 更快的位图对比度算法

    我有一个带有轨迹栏滑块控件的工具 用于调整图像的亮度 对比度 伽玛值等 我试图在用户拖动滑块时实时更新我的 图像 亮度和伽玛算法的速度是可以接受的 大约170ms 但对比算法大约是380ms 基本上我的表单是一个带有滑块的工具窗口 每次更新
  • 循环遍历一组谷歌工作表值

    我有2组数据 一是坦克名称 Tank Name A1 A2 B1 B2 接下来是开 关数据 ON OFF 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 现在我要查看的结果是 当ON OFF为1时
  • 将鼠标悬停在 Shiny 中的元素上时如何更改绘图?

    我正在寻找一种解决方案 当用户将鼠标悬停在同一面板中的超链接上时 可以更改 Shiny 应用程序中的绘图 这是一个简单的例子 library shiny words lt sort sapply 1 50 USE NAMES F FUN f
  • 由于 istio-sidecar 注入,Kubernetes 部署失败

    我们的 K8 集群工作了一年多 最近它出现了一些奇怪的行为 现在当我们使用kubectl apply f deployment manifest yaml 它没有显示在kubectl get pods 但显示在kubectl get dep
  • 从 ggraph 网络图表中检索节点坐标

    假设我制作了这个图表 library ggraph library igraph my chart lt graph from data frame highschool set seed 2017 ggraph my chart layo
  • React - 组件内动态创建列表项

    有什么办法可以添加动态li元素融入我的ul列表 我想添加我的li单击按钮 这是示例代码 class Component1 extends React Component constructor super add let ul docume
  • 如何在一个解决方案中为两个单独的项目在 asp.net core 中设置路由?

    我创建了两个 asp net core mvc 项目 它们分别工作正常 每一个在其 startup cs 文件中都有自己的路由 当我启动它们时 它们运行良好 我的问题是 如何从第一个项目设置第二个项目路线 我应该在第一个项目中更改哪里 我应
  • 如何使用 Microsoft.Office.Interop.Excel 从 Excel 导入数据集?

    我想做的事 我正在尝试使用Microsoft Office Interop Excel名称空间 http msdn microsoft com en us library microsoft office interop excel 28v
  • 在 iPhone 中点击按钮时打开文件对话框

    我做了一个可可应用程序 其中在可可应用程序中使用 NSOpenPanel 控制器点击按钮时打开文件对话框 对于 ipad 应用程序 我们使用 UISplitViewController 我想知道 在 iPhone 中开发应用程序时 点击按钮
  • 如何将引导日期选择器放入我的表单中并在日期参数中包含值?

    我正在使用 bootstrap datepicker js 并且它工作正常 div class well div class input append date div div
  • 问答:我如何知道该月的最后一天是哪一天?

    我试图编写一个自己的时区转换器 我需要一种方法来确定该月的最后一天是哪一天 经过一番研究 我发现了查找闰年的公式 这是一个小小的贡献 但也许我可以为其他人节省 20 分钟的时间来弄清楚并应用它 此代码接受带符号的短月份 索引为 0 0 是一
  • ORACLE Select Distinct 返回许多列,其中

    我有一个看起来像这样的表 NAME Col1 Col2 Col3 Tim 1 2 3 Tim 1 1 2 Tim 2 1 2 Dan 1 2 3 Dan 2 2 1 Dan 2 1 3 我试图创建一个 SELECT 命令 结果如下 NAME
  • R 中的线性插值

    我有一个真实数据的数据集 例如如下所示 Dataset 1 with known data known lt data frame x c 0 6 y c 0 10 20 23 41 39 61 plot known x known y t
  • UIImage 内存未释放 VM:ImageIO_JPEG_DATA?

    我在屏幕上同时有多个水平滚动的集合视图 它们都充满了图像 所有这些图像都通过 Parse api 在后台加载 我正在运行 Instrument 的分配 并且匿名 VM ImageIO JPEG DATA 类别占用了大部分正在使用的内存 应用
  • linux终端动画-延迟打印“帧”的最佳方法(C语言)

    我正在为终端开发一个简单的 pong 克隆 并且需要一种方法来延迟 帧 的打印 我有一个二维数组 screen ROWS COLUMNS 以及打印屏幕的函数 void printScreen int i 0 int j while i lt
  • 与 Matlab 相比,Numpy 加载 csv 太慢

    我发布这个问题是因为我想知道我是否做了一些非常错误的事情才能得到这个结果 我有一个中等大小的 csv 文件 我尝试使用 numpy 来加载它 为了便于说明 我使用 python 创建了该文件 import timeit import num
  • 使用 Angular 5 和 RxJS 观察带有过滤器的数组

    我正在创建一个简单的论坛 我正在寻找过滤帖子 我在 RxJS 中使用 pipe 和 filter 时遇到一些问题 我试图 从内存中检索 api 帖子列表api posts 当与 http get 一起使用时 它返回一个Observable
  • Android appbarlayout 海拔出现在状态栏中

    如何消除状态栏中的高度 如果我在 AppbarLayout 中将 app elevation 设置为 0dp 则标高不再出现在状态栏中 但也不会出现在 AppbarLayout 下方 如何获取 AppbarLayout 下的高度 这是我的意
  • Rails/Devise - 我应该使用 devise 和 rspec 测试什么?

    许多程序员使用 devise 作为他们的身份验证解决方案 我想得到他们的建议 设计已经经过测试 但我想知道是否需要自己测试一些东西 集成 单元 功能测试 以便与我的知识进行标准设计集成 我不熟悉shoulda和cucumber 但我了解一些