-
0 votesanswersviews
如何连接表的测试能力?
请帮忙解决问题 . 我使用gem'cancan'并将表连接到角色层次结构 . 模式: create_table "roles", force: :cascade do |t| t.string "name", limit: 255 end create_table "roles_users", id: false, ... -
2 votesanswersviews
黄瓜is_admin?测试
我不知道在哪里放这篇文章,但这个主题更类似于我的问题 . 我有一个登录系统,像这样: ApplicationController:包含SessionsHelper 私人的 helper_method:current_user 如果session [:user_id]结束,则def current_user @current_user || = User.find(session [:user_... -
1 votesanswersviews
在rspec中将存根与断言分开
我正在使用rspec和rspec模拟库来进行存根/模拟,但是我开始认为存在一个方法并声明它如何被使用之间的界限是模糊的 . 在我的测试中,我经常写一些类似于: before(:each) do subject.should_receive(:sum).once.with([1, 2, 3]).and_return(6) end it("should do something tha... -
0 votesanswersviews
需要在rspec中调用stub()和should_receive()以获取视图部分规范
我在rspec(v2.8)中与should_receive()有些混淆 我的理解是它既存在方法 - 就像stub()那样 - 并设置了这个存根方法将被调用的期望 . 但是,在尝试使用它来截断从视图partial调用的辅助方法时,我不断收到错误: Failure/Error: render 'invitations/header' ActionView::Template::Error: u... -
0 votesanswersviews
如何在Rspec中模拟方法调用
我是TDD和 Rspec 的新手 . 我试图找出如何确保在测试中调用方法: module Authentication include WebRequest def refresh_auth_token(refresh_token) "refreshing token" end end class YouTube include Authentic... -
0 votesanswersviews
如何使用rspec存根函数调用?
我正在处理的代码如下: class A def get_news when self.type = 'TypeA' param1 = 'a' param2 = 'b' else param1 = 'c' param2 = 'd' end @news ||= B.new.get_news(para... -
9 votesanswersviews
Rspec嘲讽,_748463_也可以将一个方法作为副作用?
我试图理解继承应用程序中的测试,我需要一些帮助 . 有很多像这样的规范组(视图规范): let(:job_post) { FactoryGirl.create(:job_post) } # ... before do expect(view).to receive(:job_post).at_least(:once).and_return(job_post) end it "s... -
0 votesanswersviews
使用RSpec在控制器中存储特定方法
我试图在我的控制器测试中删除mixin方法 . 控制器包括 SeatingChartCreator 模块,该模块已经过测试 . 因此,我想要做的就是将其存根,以便在一次测试中将控制器 @errors 变量设置为nil,在另一次测试中将其设置为nil,然后将其存取另一次以确保它被调用 . 我查看了RSpec文档,看起来他们提供的所有信息都是对整个类进行存根,而不仅仅是我正在测试的类中的特定方法 . -
0 votesanswersviews
在Rspec中存根File.open
我知道Stack Overflow中涵盖了这个主题,但是他们提供的任何解决方案都不适用于我 . 2天陷入困境......开始有点绝望了 . 我原来的代码: url = 'https://someurl/picture.jpg' file = File.open('new_picture.jpg', 'wb') do |fo| fo << open(url).read end ... -
1 votesanswersviews
为mandrill-api发送模板电子邮件写一个规范
我是ruby的新手,我一直在尝试编写一个简单函数的规范,通过mandrill-api(连接到Mailchimp)发送电子邮件 . 我没有使用ActionMailer . 只有mandrill-api宝石 . 我有点失落,这是什么样的完美方法? 我试过录像机,但我不知道如何使它工作 . -
1 votesanswersviews
使用Rspec测试Mailchimp 3.0和Gibbon 2.x.
我有一个rails 4.2应用程序,通过MailChimp使用Gibbon gem进行简报注册 . 这是我的初始化程序: Gibbon::Request.api_key = ENV['MAILCHIMP_API_KEY'] Gibbon::Request.timeout = 15 Gibbon::Request.throws_exceptions = false 以下是user.rb中的相关方法... -
84 votesanswersviews
RSpec:let和a block之间有什么区别?
RSpec中 let 和 before 块之间有什么区别? 什么时候使用? 下面的例子中有什么好方法(让或之前)? let(:user) { User.make !} let(:account) {user.account.make!} before(:each) do @user = User.make! @account = @user.account.make! end 我研究了这个... -
92 votesanswersviews
如何让rspec-2提供与测试失败相关的完整跟踪?
现在,如果我使用 rake spec 运行我的测试套件,我收到一个错误: 1) SegmentsController GET 'index' should work Failure/Error: get 'index' undefined method `locale' for # # ./spec/controllers/segments_controller_spec.rb:... -
0 votesanswersviews
“未定义的方法”有效吗? '” in chapter 10 of Michael Hartl' s教程
我在 micropost_spec .rb文件中为我的代码收到以下3个错误 . 我该如何修理它们?我认为我正在完全按照教程,但它可能是不同版本的Rails的问题 . Ruby版本:1.9.2p320 Rails版本:3.2.13 Rspec:2.11.1 电脑:Macbook pro OS X Mountain Lion 错误 1) Micropost when user_id is not p... -
1 votesanswersviews
测试评论控制器 . Rspec的
我想测试注释控制器,动作创建,但我不知道怎么做 . comments_controller class CommentsController < ApplicationController def create @hotel = Hotel.find(params[:hotel_id]) @comment = @hotel.comments.new(comment_p... -
2 votesanswersviews
undefined方法`formats ='for ... Controller:Class
我正在尝试用rspec发送'删除'请求 . 问题是我收到以下错误: undefined方法`formats ='用于Admin :: CountriesController:Class 这是我的代码: describe 'Admin user deletion button' do def sign_in(user) user.confirm! visit '/login'... -
1 votesanswersviews
nil的未定义方法`authenticate':使用Devise在Rails中测试自定义OmniAuth策略时的NilClass
我写了一个自定义的OmniAuth策略,我现在正试图围绕它编写Rspec测试,但我不断收到此错误: NoMethodError: undefined method `authenticate' for nil:NilClass # ./controllers/application_controller.rb:58:in `block in <class:ApplicationCon... -
1 votesanswersviews
为什么Guard-launch和手动启动的规格表现不同?
当我手动运行视图规范( zeus rspec 或 rake spec )时,如果视图中存在Devise或CanCanCan助手,则会出现错误 失败/错误:<%if user_signed_in? %> ActionView :: Template ::错误:未定义的方法authenticate'为nil:NilClass失败/错误:<%if if can? :update,@ ... -
33 votesanswersviews
Rspec让范围界定
我相信我有一个rspec let和范围问题 . 我可以在示例中使用let定义的方法(“it”块),但不能在外面(我执行let的describe块) . 5 describe Connection do 8 let(:connection) { described_class.new(connection_settings) } 9 10 it_behaves_like &quo... -
33 votesanswersviews
Rails - RSpec - “let”和“let!”之间的区别
我已经阅读了RSpec manual关于差异的说法,但有些事情仍然令人困惑 . 每个其他来源,包括"The RSpec Book"只能解释"let",而"The Rails 3 Way"与手册一样令人困惑 . 我知道"let"仅在调用时进行评估,并在范围内保持相同的值 . 所以有意义的是,在manual的第一个例子中,... -
5 votesanswersviews
当使用before(:all)时,let()值在示例中缓存?
我有一个spec文件,看起来像: # foo_spec.rb class Foo end describe Foo do let(:foo) { 'foo' } subject { bar } # before(:all) { foo } # The seond example fails if uncomment this line. describe 'test one'... -
5 votesanswersviews
RSPEC允许替代范围
let的正常行为本质上是绑定到一个示例块(即,它阻塞 . )这在大多数情况下都很好,但是如果您碰巧在let中创建大型对象(在多个示例中使用),则会出现严重问题 . 在这种情况下,实例变量几乎成为测试套件健全性的必要条件 . 时间将如此复合: let =在*对象创建时调用的#个例子 instance =对象创建时间 在调用的示例数超过3的情况下,此时间很快成为问题 . 大多数人会说使用实... -
0 votesanswersviews
Rails 4脚手架生成器测试控制器操作更新失败
我使用ruby“2.0.0”和“rails”,“〜> 4.0.0”和“rspec-rails”,“2.14.2”(引自Gemfile . 我有两个完全不同的应用程序,我得到了两者都有相同的错误 . 我使用脚手架发电机作为我的控制器 . 所以它也产生了我的控制器测试 . 特别是更新行动马上就开始了 . 测试代码 describe "PUT update" do descri... -
3 votesanswersviews
如何在RSpec测试中删除PDF生成?
我正在使用Prawn和Prawnto在Rails 3.2.6中生成PDF 我有一个响应.pdf扩展的控制器,如下所示: respond_to do |format| format.pdf { prawnto some_options } end 这样做的测试: get :pdf_route, :format => :pdf response.header['Content-Type']... -
2 votesanswersviews
尝试使用bundler和rvm安装rspec . 错误:未定义的方法'spec'
Rails 2.3.8,bundler 1.0.9 . 我一直收到错误: /Users/dwalseth/.rvm/gems/ruby-1.8.7-p330@rails2/gems/bundler-1.0.9/lib/bundler/source.rb:72:in fetch': undefined methodspec' for nil:NilClass (NoMethodError) ... -
1 votesanswersviews
Poltergeist水豚视图测试需要很长时间运行在轨道上的红宝石规格中的所有测试
我正在使用水豚与恶作剧者在轨道上的红宝石中进行rspec测试 . 我们正在使用条带支付网关 . 请求条带已经存根并且实际的http连接被禁用 . 但是,当我单独运行spec文件时 . 它通过以下测试结果 . 可以向我的帐户添加结算信息 完成时间为14.27秒(文件加载时间为4.84秒)1例,0次失败 但是当我运行所有测试时,由于响应的长时间延迟而失败,我得到了这个输出 . 失败: 我的代码 ... -
0 votesanswersviews
如何使用场景大纲运行依赖的黄瓜场景
我想使用Cucumber来测试我的应用程序,它会拍摄外部网站的快照并记录更改 . 我已经使用RSpec分别测试了我的模型,现在想要与Cucumber进行集成测试 . 为了模拟网站请求我使用VCR . 我的测试通常遵循类似的模式:1.鉴于我有一定的网站内容(我使用VCR录音带这样做)2.当我拍摄网站快照时3.然后应该有1个"new" -snapshot和1个"new&q... -
0 votesanswersviews
如何测试Rails Controller关注添加的路由
我试图通过关注测试添加到控制器的路由 . 我想编写验收测试,其中包括控制器中的关注路径,以避免回归并记录关注的用例 . 这有意义吗?如果是这样,如何通过测试中的关注来访问添加到控制器的路径? 以下是我的应用程序路线的精简版本 . 运行应用程序时, permissionable 关注路由按预期工作 . #routes.rb routes.draw do concern :permissionab... -
1 votesanswersviews
rspec控制器测试:“预期#count已更改为-1,但已更改为0”
我无法解决此错误 . 我不确定controller_spec的哪一部分写得错误 . 请帮忙! Routes Rails.application.routes.draw do resources :cases, only: [:index, :show, :new, :create, :edit, :update] do resources :links, only: [:create,... -
0 votesanswersviews
put:在rspec中更新不更新属性
我想在我的应用程序中测试一个设计模型的 update action . 我的 factories.rb 文件: FactoryGirl.define do factory :student do first_name "John" last_name "Doe" sequence(:email) { |n| "#{fi...