问题标签 [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.

0 投票
1 回答
1260 浏览

ruby-on-rails - 如何在 RSpec 功能规范中存根 Spree 的 spree_current_user 方法?

我试图在 Rspec 3.0、Capybara 2.3 中存根 Spree 的 current_user 方法,但无济于事。我的目标是测试页面中只应在用户登录时出现的内容。如何在功能规范中存根 spree_current_user 助手?

功能规格

控制器

错误

在存根该方法时,我也尝试过:

0 投票
1 回答
59 浏览

rspec - 在 RSpec 中使用“他们”而不是“它”

我有一组示例更准确地引用一组对象,而不是单个对象。“他们'应该做/成为x'”更有意义,例如:

是否可以配置 RSpec 3 来接受它们?

0 投票
1 回答
51 浏览

ruby - 有没有办法从 rspec 格式化程序挂钩中访问 LetDefinitions?

我即将为 rspec 编写一个自定义格式化程序,我需要从格式化程序挂钩中访问 letDefinitions。

鉴于:

在我的格式化程序中:

0 投票
1 回答
6557 浏览

ruby - RSpec - 无法存根类私有方法

我正在尝试使用 RSpec 3 存根对某些 JSON 发出外部请求的方法。我之前通过将其放入spec_helper.rb文件中使其工作,但现在我重构并将方法移到它自己的类中,存根不再作品。

这个类看起来像这样

尽管保持spec_helper.rb不变并尝试将存根放在实际规范之前,但仍在发出外部请求。

0 投票
1 回答
371 浏览

ruby-on-rails - 将多个参数传递给 with 方法

下面是我的model方法,它接受一个 id 和auth令牌。

下面是我的测试。

我怎样才能this test pass通过传递idauthorization内部with

0 投票
1 回答
6881 浏览

ruby-on-rails - 不支持 not_to change.by()

我将 rspec 版本从 2 升级到 3。这是我面临的问题之一:

rspec 的变更日志中,我可以读到它从未受到支持(oink ?!@#)。同时还有一些例子是如何使用更改语法但没有not关键字。

所以问题是如何期望没有变化?

0 投票
2 回答
5016 浏览

ruby-on-rails - nil:NilClass 的未定义方法“env”

我将 rspec 从版本 2 升级到了 3。之后我遇到了这个问题:

spec_helper.rb包含:

Albums_controller_spec.rb

发生错误的auth_helpers.rb部分:

我正在寻找另一个类似的问答,但没有发现任何帮助。让我知道我是否应该包含更多内容。提前致谢。

0 投票
1 回答
5708 浏览

ruby-on-rails - Capybara::ElementNotFound:找不到文件字段“文件”

我正在测试文件上传,即 CSV。在我的代码和浏览器 HTML 中,我找到了文件字段,但在测试水豚时找不到文件字段。我尝试了不同的方法,但无法解决问题。这里部分看起来像这样:

水豚测试看起来像这样

如果您能帮助我解决此问题,我将不胜感激?

0 投票
1 回答
914 浏览

testing - 使用 Rspec 对请求规范不进行回溯

我有这样的请求规范

如果规范由于某种原因失败,我只会在响应中得到 500 状态代码,仅此而已,所以我必须检查log/test.log文件以了解出了什么问题,这很烦人。

为什么 rspec 没有像其他类型的规范那样显示回溯?

这是我运行规范的方式,请注意我包含了 -b 选项

但它不包含 500 错误的真正原因

0 投票
2 回答
177 浏览

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之后添加来看到没有删除任何用户。expectspecify

为什么没有:admin_user登录?