rspec相关内容
我是 RSpec 的新手,正在尝试编写一个简单的测试来显示 Devise 正在工作.我随机选择了一个页面,想编写一个测试,显示未登录的用户被重定向到/users/sign_in. describe OrgsController do描述“未登录时获取索引"做它“重定向到 new_user_session_path" 做用户 = FactoryGirl.create(:user)用户确认!登录用户
..
我正在 Rails 上使用 rspec 和 factory girl 学习测试,但我无法让它们工作. 我的用户控制器如下所示: class UsersController
..
我无法让水豚工作.我使用的是水豚 2.0.0 我收到此错误 失败/错误:访问“/users/sign_in"无方法错误:#的未定义方法`visit' 关于这个规范 spec/requests/forgot_password_spec.rb 描述“忘记密码"做它“将用户重定
..
我从 michael hartl 书中得到了这个测试: 需要'spec_helper'描述“静态页面"做let(:base_title) {“Ruby on Rails 教程示例应用程序"}描述“主页"做它“应该有 h1 '示例应用程序'"访问“/static_pages/home"page.should have_selector('h1', :text => 'Sample App')结尾它
..
更新:请参阅文章末尾,了解规格现在如何工作,因为我在规格/请求而不是规格/控制器中有我的规格.仍然想知道如何获得有效的登录用户以与我的控制器进行集成测试. 我第一次与 Devise 和 CanCan 合作,但在进行最基本的集成测试时遇到了困难,我正在验证登录用户是否......好吧......登录.我已阅读无数关于 Devise 和 RSpec 集成测试的帖子和答案(即通过直接通过 http
..
我有一个应用程序设计为在禁用 JavaScript 时仍能正常工作,因此我想编写一些涵盖这些情况的规范. 我在 Capybara 上使用 Selenium (Firefox),我正在注册一个禁用 JavaScript 的新驱动程序(通过 Selenium 的 javascript.enabled 属性) # spec/rails_helper.rbCapybara.configure 做
..
我正在为我的视图助手 (Rails 4.0) 编写一些测试,并尝试在执行它的字符串中编译 ERB 代码.但是,为了简单起见,我在这里使用了 rails 表单助手中的常用方法,但收到了相同的错误: 失败/错误:ERB.new(template).result语法错误:(erb):1: 语法错误,意外的 ')'...out.concat(( field_set_tag do ).to_s);_erb
..
我有这个领域模型:一个用户有一组项目,项目的状态可能无法通过验证. 验证工作正常,我什至看到在使用 save! 时会调用异常. 在我的控制器中,我有这个: @user.items() {}, :status =>:行别的渲染:json =>{:状态=>:error, :errors =>item.errors}, :status =
..
我有这样的方法 def 类名定义方法名称一些代码救援一些代码和错误信息结尾结尾 那么,如何写下 rspec 来测试救援块..? 解决方案 如果你想拯救,就意味着你希望 some code 引发某种异常. 您可以使用 RSpec 存根 伪造实现并强制出错.假设执行块包含一个可能引发的方法 def method_nameother_method_that_may_raise救援 =
..
我在测试控制器和使用 Warden 时遇到问题. 所有示例都指向存根 request.env['warden'].当我调用 env['warden'] 时,这会导致我的控制器出现问题,然后返回 nil. 举个粗略的例子,使用这个: request.env['warden'] = double(Warden, :authenticate => nil,:认证!=>零,: 认证?=>错误
..
我有一些测试要求 JS 驱动程序不遵循重定向.是否可以配置 Poltergeist 来执行此操作? 我注意到可以使用命令行界面向 PhantomJS 传递命令,所以也许这是另一种方法? 解决方案 我对 Poltergeist 不熟悉,所以我只回答 PhantomJS. 您只需要两个事件处理程序 page.onResourceRequested 和 page.onResource
..
在使用 rspec 的项目中的测试中,当我只想专注于一个或几个特定测试用例时,我经常在开发时使用“焦点"以节省运行所有测试. 在 Minitest(在这种情况下使用规范语法扩展)中,我找不到等价物. 在rspec 它“应该可以正常工作",focus: true do# 东西结尾 Minitest 中的等价物是什么? 解决方案 安装 minitest-focus gem,将 re
..
我有一个黄瓜步骤:鉴于我已登录 我不明白我应该如何将它实现为步骤定义. 有人能给我指出正确的方向、教程、博客等. 解决方案 这是我的做法. 给定/^我有一个\s+用户 "([^\"]*)" 电子邮件 "([^\"]*)" 和密码 "([^\"]*)"$/do |用户名、电子邮件、密码|@user = User.new(:email => email,:用户名=>用户名,:密码
..
我正在尝试为一个简单的控制器编写控制器规范.但是,Capybara 没有看到任何页面内容.但是,在我的浏览器中查看该站点的页面效果很好.我做错了什么? T.汉克斯! 我的控制器规范 我的 spec_helper.rb 我的 Gemfile 解决方案 您需要明确告诉您的控制器规范您希望它呈现视图以使其工作.将您的规范更新为如下所示: 需要'spec_helper'描
..
是否有使用 rspec 和水豚检查图像和网站图标是否存在的好方法? 我可以检查网站图标和图像的 DOM,但我希望也能够检查这些图像是否加载.rspec 和水豚可以做到这一点吗? 解决方案 describe "check images and favicon" do{ 访问“url/to/check"之前)它“应该有图像"做page.should have_css('img', tex
..
我有几个 ruby 脚本并使用 rspec 测试它们. 我将我的环境放在 env.rb 文件中(暂时),以便我可以在本地访问它们,并在生产中将它们放在配置变量中. 但是当我运行 rspec 时,我想要不同的环境变量.两个用例: 我运行 Twilio,所以我希望能够更改用于其测试凭据的 SID 我将内容作为服务存储在数据库中,并希望拥有一个单独的测试数据库 解决方案
..
相当简单的问题(我曾想过),但我遇到了一些问题: 在 Rails 3.1.0.rc6/RSpec 2.6.0 中,我试图测试我的“产品"资源的路由,路由如下: resources :products, :except =>[:编辑,:更新] 有效操作的路由有效,但我想确保编辑和更新路由不可调用.这是我正在尝试的: 它“不路由到#edit"做lambda { get("/products
..
我已将 database_cleaner gem 添加到我的 rails 应用程序中,以便在不同规格之间清理我的数据库.这是我当前的 database_cleaner 配置,位于 spec/spec_helper.rb: config.before(:suite) 做DatabaseCleaner.strategy = :transactionDatabaseCleaner.clean_wit
..
我想在我的 Rails 应用程序的 Capybara 测试套件中使用 rspec 模拟来删除登录用户(使用 Devise/Warden).这将节省大量时间,并且意味着我的测试套件可以/将定期运行. 以前,我可以使用 authlogic 来完成此操作,方法是使用如下代码删除我的会话模型: def login(user)user_session = mock_model(UserSession
..
我想为我的 rubocop 自定义警察编写规范.这个 gem 在此处定义了方便的助手.我想要求它.如何实现什么? 我尝试使用 Gem.find_files,这使我能够要求该 gem 中的任何文件,但只能在 lib 目录下. 例如: # 这需要 ...gems/rubocop-0.29.1/lib/rubocop/formatter/formatter_set.rb需要 Gem.fin
..