问题标签 [rspec-rails]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 有没有办法让 RSPec 的错误消息更有洞察力?
我在尝试调试时经常不知所措,因为 RSpec 只告诉我
但是由于它没有告诉我发生了什么而是很难调试,
这是 RSpec 内置的东西,不能更改,还是某种配置。
ruby-on-rails - RSpec Rails 登录过滤器
我最近开始在我的 Rails(3.0.8) 应用程序中使用 rspec-rails(2.6.1)。我习惯于 Test::Unit,我似乎无法让过滤器适用于我的测试方法。我喜欢尽可能保持 DRY,所以我想设置一个过滤器,我可以在任何测试方法上调用该过滤器,在调用测试方法之前以 Authlogic 用户身份登录。我尝试通过在 spec_helper.rb 中使用RSpec 过滤器来完成此操作:
然后我在相应的测试方法中使用它(在本例中为 spec/controllers/admin_controller_spec.rb):
但是,当我运行rspec spec时出现此错误:
布莱赫。每次测试我只能发送一个 HTTP 请求吗?我还尝试删除我的 authenticate_admin 方法(在 config.before 块内),但没有任何运气。
ruby-on-rails - Zentest - 如何在红色时停止自动测试
我正在尝试配置自动测试,以便当我运行我的测试套件并且我的测试失败时,自动测试会停止测试并等待我在再次测试之前进行更改。使用我当前的配置,自动测试在遇到失败的测试时会继续进行不确定的测试,这使得处理起来有点麻烦(每次测试失败时都必须进入终端并停止自动测试服务器)。
我正在使用 RSpec、Zentest 和 Spork 开发 Rails 应用程序。
相关宝石版本:
我的 .autotest 文件:
注意:我的大部分 .autotest 文件都是为了让弹出窗口在 linux 中工作,以显示我的测试是通过还是失败。
我一直在寻找这个问题的答案,但没有运气,我发现很难获得一些好的 Autotest 文档。我已经盯着 Zentest 的RDoc看了很长一段时间了,我一定是错过了一些东西。
任何帮助、示例链接等,将不胜感激。
ruby-on-rails - Ruby on Rails 教程第 10 章练习 RSpec 失败
我正在研究 Rails 教程第 10 章中的练习,但在练习中遇到了一个问题,该练习让我确保管理员用户不能删除自己。我最初的想法是简单地检查当前用户的 id 并将其与 params[:id] 进行比较,以确保它们不相等。我的用户控制器中的销毁操作如下所示:
当我在应用程序中手动测试它时,这非常有效,但我的 3 个 RSpec 测试失败并出现相同的“未定义方法 'to_i'”错误(如下所示):
如果我使用 params[:id] 来查找用户并将其与下面的 current_user 进行比较,那么它在应用程序和 RSpec 中都可以使用。
为什么 RSpec 中的“to_i”方法会出现问题?如果有人想知道我倾向于这种方法,因为我认为最好将当前用户 id 与要删除的用户的 id 进行简单比较(通过 params[:id]),而不是点击 db 来“查找”用户。
作为参考,这是我的 RSpec 测试:
任何帮助,将不胜感激!
ruby-on-rails - 测试 has_many 与 RSpec 的关联
我正在尝试使用 RSpec 测试 Hour 模型,即行为类似于范围的类方法“find_days_with_no_hours”。通过 STI 关联的业务 has_many Hours。find_days_with_no_hours 需要通过业务对象调用,我不知道如何在 RSpec 测试中进行设置。我希望能够测试类似的东西:
我尝试了各种方法,比如创建一个业务对象(例如,Business.create),然后设置 @business.hours << mock_model(BusinessHour, ..., ..., ...) 但这并没有不工作。
这通常是如何完成的?
ruby-on-rails - RSpec 控制器测试:如何检查 @organization.destroy 是否被调用?
我想它可能是这样的:
..但我收到“无法修改冻结对象”错误。
ruby-on-rails - 如何使用 RSpec 更新测试模型中的属性
我被困在 RSpec 中的一个规范上。如何更新模型的属性以使其为零?在更新控制器规范下验证是否更好?
下面是一个示例代码。
ruby-on-rails - 有没有办法避免在测试中指定关联?
鉴于我有以下课程
有没有一种方法可以避免在我的测试中保存列表之前不必继续关联所有者/spec/models/listing_spec.rb
,而无需owner_id
通过批量分配访问?
ruby-on-rails - 在 rspec-rails 中编写步骤?
我刚刚开始测试,我想知道如何为 RSpec 规范编写步骤,这样我就可以重用很多功能,比如登录等。
ruby-on-rails - 如何在 rspec 测试中忽略 ApplicationController 中的 rescue_from?
默认情况下,Cucumber 会忽略 ApplicationController 中的 rescue_from 并直接报告任何异常。这是通过 Cucumber env.rb 文件中的以下行完成的
有没有办法让 rspec 也忽略rescue_from?(具体来说,我希望我可以让 rspec 忽略rescue_from CanCan::AccessDenied
。)