问题标签 [rspec3]
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 功能规范中存根 Spree 的 spree_current_user 方法?
我试图在 Rspec 3.0、Capybara 2.3 中存根 Spree 的 current_user 方法,但无济于事。我的目标是测试页面中只应在用户登录时出现的内容。如何在功能规范中存根 spree_current_user 助手?
功能规格
控制器
错误
在存根该方法时,我也尝试过:
rspec - 在 RSpec 中使用“他们”而不是“它”
我有一组示例更准确地引用一组对象,而不是单个对象。“他们'应该做/成为x'”更有意义,例如:
是否可以配置 RSpec 3 来接受它们?
ruby - 有没有办法从 rspec 格式化程序挂钩中访问 LetDefinitions?
我即将为 rspec 编写一个自定义格式化程序,我需要从格式化程序挂钩中访问 letDefinitions。
鉴于:
在我的格式化程序中:
ruby - RSpec - 无法存根类私有方法
我正在尝试使用 RSpec 3 存根对某些 JSON 发出外部请求的方法。我之前通过将其放入spec_helper.rb
文件中使其工作,但现在我重构并将方法移到它自己的类中,存根不再作品。
这个类看起来像这样
尽管保持spec_helper.rb
不变并尝试将存根放在实际规范之前,但仍在发出外部请求。
ruby-on-rails - 将多个参数传递给 with 方法
下面是我的model
方法,它接受一个 id 和auth
令牌。
下面是我的测试。
我怎样才能this test pass
通过传递id
和authorization
内部with
?
ruby-on-rails - 不支持 not_to change.by()
我将 rspec 版本从 2 升级到 3。这是我面临的问题之一:
在rspec 的变更日志中,我可以读到它从未受到支持(oink ?!@#)。同时还有一些例子是如何使用更改语法但没有not
关键字。
所以问题是如何期望没有变化?
ruby-on-rails - nil:NilClass 的未定义方法“env”
我将 rspec 从版本 2 升级到了 3。之后我遇到了这个问题:
spec_helper.rb包含:
Albums_controller_spec.rb:
发生错误的auth_helpers.rb部分:
我正在寻找另一个类似的问答,但没有发现任何帮助。让我知道我是否应该包含更多内容。提前致谢。
ruby-on-rails - Capybara::ElementNotFound:找不到文件字段“文件”
我正在测试文件上传,即 CSV。在我的代码和浏览器 HTML 中,我找到了文件字段,但在测试水豚时找不到文件字段。我尝试了不同的方法,但无法解决问题。这里部分看起来像这样:
水豚测试看起来像这样
如果您能帮助我解决此问题,我将不胜感激?
testing - 使用 Rspec 对请求规范不进行回溯
我有这样的请求规范
如果规范由于某种原因失败,我只会在响应中得到 500 状态代码,仅此而已,所以我必须检查log/test.log
文件以了解出了什么问题,这很烦人。
为什么 rspec 没有像其他类型的规范那样显示回溯?
这是我运行规范的方式,请注意我包含了 -b 选项
但它不包含 500 错误的真正原因
ruby-on-rails - Rails 教程:为管理员用户发出 DELETE 请求的问题(第 9 章,练习 9)
我正在做 Michael Hartl 的精彩Ruby on Rails 教程,我看到很多人在第 9 章练习 9中遇到问题。我也遇到了很多问题,但我在其他任何地方都没有看到我的确切问题(或解决方案)。所以这里仅供参考,希望对其他人有所帮助。我的环境是 Ruby 2.1.1、Rails 4.1.4、RSpec 3.0.0 和 Capybara 2.4.1。这与书中描述的环境不同,但使用最新的工具和版本是乐趣的一部分。
问题在于设计测试并修改UsersController#destroy
操作以防止管理员用户删除自己。由于用户页面中的“删除”链接对于每个用户都是隐藏的,即使是那些拥有的用户,admin: true
要走的路就是向 发出DELETE
请求users_path(user)
。
但是,运行此测试通过:
有什么不对劲。这是来自的输出log/test.log
:
测试通过,因为在尝试删除用户时,过滤器
正如日志中的这一行所建议的那样:
由于某种原因,用户没有登录,当他/她到达受保护的页面时,被重定向到登录页面。logger.warn "<message>"
您实际上可以通过添加inUsersController#destroy
甚至在块内的行puts User.count
之后添加来看到没有删除任何用户。expect
specify
为什么没有:admin_user
登录?