问题标签 [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.
ruby-on-rails - 您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?
假设你的一个 Ruby on Rails 应用程序中有一个 ActiveRecord::Observer - 你如何使用 rSpec 测试这个观察者?
ruby-on-rails - Rails, Restful Authentication & RSpec - 如何测试需要身份验证的新模型
我使用Bort创建了一个学习应用程序,它是一个包含 Restful Authentication 和 RSpec 的基础应用程序。我已经启动并运行它并添加了一个新对象,该对象需要用户登录才能执行任何操作(before_filter :login_required
在控制器中)。[编辑:我还应该提到has_many
新类的用户并且只有用户应该能够看到它。]
我使用 Rspec 的生成器创建了新的模型/控制器,这些生成器创建了许多默认测试。如果没有before_filter
但有几个失败,它们都会通过,正如预期的那样,一旦before_filter
到位。
如何让生成的测试像有/没有登录用户一样运行?我是否需要一整批未登录的匹配 - 重定向测试?我认为这是某种模拟或固定技术,但我是 RSpec 的新手,有点飘忽不定。好的 RSpec 教程链接也将不胜感激。
ruby-on-rails - 为什么 RSpec 在 Rails 下这么慢?
每当我为我的 Rails 应用程序运行 rspec 测试时,它需要永远和一天的开销才能真正开始运行测试。为什么 rspec 这么慢?有没有办法加快 Rails 的初始加载或挑出我需要的 Rails 应用程序的一部分(例如仅 ActiveRecord 的东西),所以它不会加载所有东西来运行一些测试?
ruby-on-rails - 使用 RSpec 指定插件的最佳方法是什么?
我正在创建一个插件,并希望使用 RSpec,以便可以使用 BDD 构建它。
有推荐的方法吗?
ruby-on-rails - 使用 RSpec & Rails 测试给定布局的渲染
是否可以使用带有 Rails 的 RSpec 测试给定布局的使用,例如,我想要一个执行以下操作的匹配器:
我在谷歌搜索时发现了一个 use_layout 匹配器,但它不起作用,因为响应或控制器似乎都没有匹配器正在寻找的布局属性。
ruby-on-rails - 规范/集成响应的最佳位置?
我有一些集成点,我想测试各种响应 - 你认为我应该将这些工件存储在我的 rails 应用程序的 spec/ 目录中的什么位置?
ruby - 如何在 RSpec 中运行单个测试/规范文件?
我希望能够运行单个规范文件的测试——例如,对于我正在编辑的一个文件。 rake spec
执行所有规范。我的项目不是 Rails 项目,所以rake spec:doc
不起作用。
不知道这是否重要,但这是我的目录结构。
ruby-on-rails - RSpec 故事和规格:何时使用什么?
所以我想开始使用 RSpec 故事,但我不确定在哪里编写控制器、模型和视图规范。
例如,您有“登录”和“用户提供错误密码”场景的故事,您最终不会测试与控制器/模型规范相同的东西(response.should render...,user.should be_nil 等.)
所以我的问题是:对于那些习惯用 RoR 做 bdd(或故事 dd)的人,你还写模型/控制器规范吗?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规格”)?
ruby-on-rails - Rspec - 从插件切换到宝石的问题
当放弃使用 rspec 和 rspec-rails 插件并改用 gem 版本时,我是否需要在 spec_helper.rb 中进行任何额外的更改,或者让我的应用程序中的规范看到更改?
删除插件并安装 gem (1.1.8) 后,我无法再让我的规范成功运行。
更具体地说,这就是我所做的:
- 从供应商目录中删除以前安装的 rspec 和 rspec-rails 插件
- 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:in
activate' from /Library/Ruby/Site/1.8/rubygems.rb:158:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
each' from /Library/Ruby/Site/1.8/rubygems.rb :157:inactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
require' 来自 /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:inrequire' from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
new_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:in
activate' from /Library/Ruby/Site/1.8/rubygems.rb:158:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
each' 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
任何帮助都是极好的。
ruby-on-rails - 如何使用“link_to”和“current_page”使用 RSpec 测试 Rails 插件?
我正在编写一个在视图中构建菜单的 Rails 插件。我正在使用link_to
构建链接并在当前页面上current_page?
进行设置。class="active"
我已经include
dActionView::Helpers::UrlHelper
所以我可以使用link_to
.
为了current_page?
在视图中工作,我必须继承当前类(显然ActionView::Base
)并且它工作得很好。不幸的是,这完全破坏了 RSpec 的测试。
我打电话link_to
是current_page?
这样的:
我得到了 RSpec 的这个错误:Undefined method `link_to' for #< Spec::Rails::Example::RailsExampleGroup::Subclass_1:0x24afa90>
有什么线索吗?