Tag: rspec

工厂女孩 – 为什么记录会不断创建?

我是工厂女孩的新手。 我要做的是创建属于一个组的2个用户,通过权限模型加入。 这就是我所拥有的。 当我运行这个rspec时,它创建了超过2个用户,4 +。 为什么? 谢谢 factories.rb: require ‘factory_girl’ Factory.define :user do |f| f.sequence(:fname) { |n| “fname#{n}” } f.sequence(:lname) { |n| “lname#{n}” } f.sequence(:email) { |n| “email#{n}@google.com” } f.password “password” f.password_confirmation { |u| u.password } f.invitation_code “xxxxxxxx” end Factory.define :group do |f| f.association :user f.sequence(:name) { |n| “myGroup#{n}” } f.sequence(:private_email) { |n| “myGroup#{n}” } […]

RSpec控制器测试失败,使用Rails API – 未定义方法’助手’

我正在尝试按照这个Rails API指南来更好地理解如何将Rails API集成到我自己的应用程序中,但是我的RSpec测试在路由期望上失败了,我不知道为什么。 我的错误信息是 1) Api::V1::UsersController POST #create when is not created renders an errors json Failure/Error: expect(user_response).to have_key(:errors) NoMethodError: undefined method “helpers” for # Did you mean? helper_names # ./spec/controllers/api/v1/users_controller_spec.rb:47:in ‘ 我认为,为了发布代码,链接这个Gist可能更方便。 如果首选直接在我的post上发布明文,我很抱歉。 我很想发布^^

如何在测试套件中进行下一次测试之前关闭所有窗口?

[7] pry(#)> page.execute_script “window.close()” Selenium::WebDriver::Error::NoSuchWindowError: Script execution failed. Script: window.close(); The window could not be found [8] pry(#)> page.driver.browser.window_handles => [“f1-2”] 我打开了一个带有两个选项卡的浏览器,上面的命令关闭了一个,但最后一个选项卡从未关闭。 它是开放的,但是当我尝试运行page.execute_script “window.close()”它会给出上述错误。 page.driver.browser.window_handles.each do |handle| page.driver.browser.switch_to.window(handle) page.execute_script “window.close()” end 上面的代码在某个时候对我有用,但不再起作用了。 它给出了同样的错误。 更新: 我用的时候 page.driver.browser.window_handles.each do |handle| page.driver.browser.switch_to.window(handle) page.driver.browser.close end 它给出以下错误Selenium::WebDriver::Error::UnknownError: ‘auto_id’不引用打开的选项卡

Rspec错误,“nil的未定义方法’downcase’:NilClass”

我在运行Rspec测试时不断收到此错误,但无法弄清楚原因。 我对Rails(以及一般的编程)都很陌生,所以任何方向或帮助都会非常感激! 编辑:这是一个回购链接,如果有人想筛选和/或复制错误。 https://github.com/FluxAnimus/sample_app/tree/sign-up Failures: 1) User pages profile page Failure/Error: before { visit user_path(user) } ActionView::Template::Error: undefined method `downcase’ for nil:NilClass # ./app/helpers/users_helper.rb:5:in `gravatar_for’ # ./app/views/users/show.html.erb:3:in `_app_views_users_show_html_erb__1766857043046396980_38603940′ # ./spec/requests/user_pages_spec.rb:9:in `block (3 levels) in ‘ 2) User pages profile page Failure/Error: before { visit user_path(user) } ActionView::Template::Error: undefined method `downcase’ for nil:NilClass # ./app/helpers/users_helper.rb:5:in `gravatar_for’ […]

RSpec should_receive宏包含需要测试的内容的id

我怎么写这个,所以它通过没有硬编码1 。 鸡肉和鸡蛋。 @sender = Factory(:user) @receiver = Factory(:user) mailer = double mailer.should_receive(:deliver) Mailer.should_receive(:email).with(1, @sender.id, @receiver.id).and_return(mailer) # This will create an object with id #1 to make this test pass @object = Object.create(:sender => @sender, :receiver => @receiver)

使用RSpec 3和Rails 4在控制器测试中查找新创建的记录

我在Rails 4中做了一个控制器规范,我想测试由控制器动作创建的记录的属性。 如何找到新创建的记录? 例如,我可以做什么而不是 it ‘Marks a new user as pending’ do post :create, params # I don’t want to use the following line user = User.last expect(user).to be_pending end Rails指南仅简要讨论了控制器测试,其中提到测试Article.count变化为1,而不是如何获得新的ActiveRecord模型。 在Rails 3中找到最新记录的问题是关于Rails 3。 我不愿意使用User.last ,因为默认排序可能是创建日期之外的其他内容。

太阳黑子和RSpec失败。 提交似乎没有起作用

我有一些测试用RSpec运行Rails站点,但是尽管遵循了说明,事情本身并不是很好。 我通过工厂创建一篇文章,运行Sunspot.commit,然后检查结果。 我似乎总是画一个空白。 当我通过控制台或通过网站手动测试时,所有工作都可以找到。 有任何想法吗? 如何输出太阳黑子日志以查看发生了什么? 我的Gemfile有以下内容,我正在运行Rails 3.1.1 gem ‘sunspot’, ‘1.2.1’ gem ‘sunspot_rails’ gem ‘sunspot_test’ 非常感谢,格雷姆

Ruby on Rails 4:使用rspec测试嵌套资源不起作用

我在rails应用程序上测试我的ruby时遇到了一些麻烦。 我有一个资源餐厅和一个嵌套的资源菜单。 路线文件: resources :restaurants do resources :menus 菜单型号: class Menu include Mongoid::Document belongs_to :restaurant accepts_nested_attributes_for :restaurant validates :name, presence: true validates :description, presence: true validates :restaurant, presence: true field :name, type: String field :description, type: String end 餐厅模特: class Restaurant include Mongoid::Document has_one :address, dependent: :destroy has_many :menus, dependent: :destroy accepts_nested_attributes_for :address, :menus validates […]

预期响应为但

我的rspec测试存在问题,并且查看了以前的问题,我无法解决它。 测试失败并出现上述错误,但代码在实践中有效,有没有人知道如何解决这个问题? Rspec的: describe “authentication of edit/update pages” do before(:each) do @user = Factory(:user) end describe “for non-signed in users” do it “should deny access to ‘edit'” do get :edit, :id => @user response.should redirect_to(signin_path) end it “should deny access to ‘update'” do put :update, :id => @user, :user => {} response.should redirect_to(signin_path) end end […]

Rails引擎在外键中出现问题

我正在开发一个rails引擎,这是我的gem.gemspec s.required_ruby_version = ‘>= 2.0.0’ s.add_dependency ‘rails’, ‘>= 4.2.0’ s.add_dependency ‘enumerate_it’ s.add_dependency ‘slim-rails’ s.add_dependency ‘bootstrap-sass’ s.add_dependency ‘jquery-rails’ s.add_development_dependency ‘rdoc’ s.add_development_dependency ‘tomdoc’ s.add_development_dependency ‘sqlite3’ s.add_development_dependency ‘rspec-rails’ s.add_development_dependency ‘timecop’ s.add_development_dependency ‘shoulda-matchers’ s.add_development_dependency ‘factory_girl_rails’ s.add_development_dependency ‘database_cleaner’ s.add_development_dependency ‘awesome_print’ s.add_development_dependency ‘guard’ s.add_development_dependency ‘guard-rspec’ s.add_development_dependency ‘guard-migrate’ s.add_development_dependency ‘guard-livereload’ s.add_development_dependency ‘thor’ s.add_development_dependency ‘simplecov’ s.add_development_dependency ‘codeclimate-test-reporter’ 这是我的迁移文件,当我运行install命令时,它将被复制到我的rails应用程序: class CreateMpaStorySchema < ActiveRecord::Migration def […]