问题标签 [rspec]

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 投票
4 回答
12812 浏览

ruby-on-rails - 您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

假设你的一个 Ruby on Rails 应用程序中有一个 ActiveRecord::Observer - 你如何使用 rSpec 测试这个观察者?

0 投票
4 回答
12088 浏览

ruby-on-rails - Rails, Restful Authentication & RSpec - 如何测试需要身份验证的新模型

我使用Bort创建了一个学习应用程序,它是一个包含 Restful Authentication 和 RSpec 的基础应用程序。我已经启动并运行它并添加了一个新对象,该对象需要用户登录才能执行任何操作(before_filter :login_required在控制器中)。[编辑:我还应该提到has_many新类的用户并且只有用户应该能够看到它。]

我使用 Rspec 的生成器创建了新的模型/控制器,这些生成器创建了许多默认测试。如果没有before_filter但有几个失败,它们都会通过,正如预期的那样,一旦before_filter到位。

如何让生成的测试像有/没有登录用户一样运行?我是否需要一整批未登录的匹配 - 重定向测试?我认为这是某种模拟或固定技术,但我是 RSpec 的新手,有点飘忽不定。好的 RSpec 教程链接也将不胜感激。

0 投票
11 回答
14198 浏览

ruby-on-rails - 为什么 RSpec 在 Rails 下这么慢?

每当我为我的 Rails 应用程序运行 rspec 测试时,它需要永远和一天的开销才能真正开始运行测试。为什么 rspec 这么慢?有没有办法加快 Rails 的初始加载或挑出我需要的 Rails 应用程序的一部分(例如仅 ActiveRecord 的东西),所以它不会加载所有东西来运行一些测试?

0 投票
2 回答
400 浏览

ruby-on-rails - 使用 RSpec 指定插件的最佳方法是什么?

我正在创建一个插件,并希望使用 RSpec,以便可以使用 BDD 构建它。

有推荐的方法吗?

0 投票
11 回答
20232 浏览

ruby-on-rails - 使用 RSpec & Rails 测试给定布局的渲染

是否可以使用带有 Rails 的 RSpec 测试给定布局的使用,例如,我想要一个执行以下操作的匹配器:

我在谷歌搜索时发现了一个 use_layout 匹配器,但它不起作用,因为响应或控制器似乎都没有匹配器正在寻找的布局属性。

0 投票
2 回答
147 浏览

ruby-on-rails - 规范/集成响应的最佳位置?

我有一些集成点,我想测试各种响应 - 你认为我应该将这些工件存储在我的 rails 应用程序的 spec/ 目录中的什么位置?

0 投票
15 回答
240348 浏览

ruby - 如何在 RSpec 中运行单个测试/规范文件?

我希望能够运行单个规范文件的测试——例如,对于我正在编辑的一个文件。 rake spec执行所有规范。我的项目不是 Rails 项目,所以rake spec:doc不起作用。

不知道这是否重要,但这是我的目录结构。

0 投票
4 回答
1343 浏览

ruby-on-rails - RSpec 故事和规格:何时使用什么?

所以我想开始使用 RSpec 故事,但我不确定在哪里编写控制器、模型和视图规范。

例如,您有“登录”和“用户提供错误密码”场景的故事,您最终不会测试与控制器/模型规范相同的东西(response.should render...,user.should be_nil 等.)

所以我的问题是:对于那些习惯用 RoR 做 bdd(或故事 dd)的人,你还写模型/控制器规范吗?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规格”)?

0 投票
1 回答
1182 浏览

ruby-on-rails - Rspec - 从插件切换到宝石的问题

当放弃使用 rspec 和 rspec-rails 插件并改用 gem 版本时,我是否需要在 spec_helper.rb 中进行任何额外的更改,或者让我的应用程序中的规范看到更改?

删除插件并安装 gem (1.1.8) 后,我无法再让我的规范成功运行。

更具体地说,这就是我所做的:

  1. 从供应商目录中删除以前安装的 rspec 和 rspec-rails 插件
  2. sudo 安装了 rspec 和 rspec-rails gems(1.1.8 是撰写本文时的最新版本)

运行脚本/autospec 时,我收到以下消息:

/Library/Ruby/Site/1.8/rubygems.rb:578:in report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:158:in activate' from /Library/Ruby/Site/1.8/rubygems.rb:157:ineach' from /Library/Ruby/Site/1.8/rubygems.rb :157:in activate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:inrequire' 来自 /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in require' from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:innew_constants_in' 来自 /Library/Ruby/Gems/1.8/gems/activesupport -2.1.0/lib/active_support/dependencies.rb:509:inrequire' from /Volumes/tangoflash/code/tangoflash/spec/spec_helper.rb:5 from spec/helpers/sessions_helper_spec.rb:1:in来自 spec/helpers/sessions_helper_spec.rb:1

尝试通过 textmate 运行单个 rspec 示例时,我得到:

/Library/Ruby/Site/1.8/rubygems.rb:578:in report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:158:in activate' from /Library/Ruby/Site/1.8/rubygems.rb:157:ineach' from /Library/Ruby/Site/1.8/rubygems.rb :157:inactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in来自 /Users/allanlibunao/Library/Application Support/TextMate/Bundles/RSpec.tmbundle/Support/lib/spec/mate.rb:14 来自 /tmp/temp_textmate.KQTYKh:3:in `require'来自 /tmp/temp_textmate.KQTYKh:3

任何帮助都是极好的。

0 投票
1 回答
4256 浏览

ruby-on-rails - 如何使用“link_to”和“current_page”使用 RSpec 测试 Rails 插件?

我正在编写一个在视图中构建菜单的 Rails 插件。我正在使用link_to构建链接并在当前页面上current_page?进行设置。class="active"

我已经includedActionView::Helpers::UrlHelper所以我可以使用link_to.

为了current_page?在视图中工作,我必须继承当前类(显然ActionView::Base)并且它工作得很好。不幸的是,这完全破坏了 RSpec 的测试。

我打电话link_tocurrent_page?这样的:

我得到了 RSpec 的这个错误:Undefined method `link_to' for #< Spec::Rails::Example::RailsExampleGroup::Subclass_1:0x24afa90>

有什么线索吗?