Я не могу запустить базовый тест rspec с haml и rails6 - PullRequest
0 голосов
/ 07 апреля 2019

Я запустил простой проект с rails 6 и haml-rails и rspec, и мои базовые тесты провалились при базовом get: home указывает на простой шаблон haml - я действительно не знаю, является ли это haml-rails, hamlили rspec проблема.

ошибки, которые я получил

# rspec spec/controllers/static_pages_controller_spec.rb
DEPRECATION WARNING: Single arity template handlers are deprecated.  Template handlers must
now accept two parameters, the view object and the source for the view object.
Change:
  >> Class#call(template)
To:
  >> Class#call(template, source)
 (called from <top (required)> at /home/kuku/Projects/Permission/config/application.rb:22)
DEPRECATION WARNING: action_view.finalize_compiled_template_methods is deprecated and has no effect (called from <top (required)> at /home/kuku/Projects/Permission/config/environment.rb:7)
DEPRECATION WARNING: formats is deprecated and will be removed from Rails 6.1 (called from block (3 levels) in <top (required)> at /home/kuku/Projects/Permission/spec/controllers/static_pages_controller_spec.rb:8)
DEPRECATION WARNING: formats is deprecated and will be removed from Rails 6.1 (called from block (3 levels) in <top (required)> at /home/kuku/Projects/Permission/spec/controllers/static_pages_controller_spec.rb:8)
DEPRECATION WARNING: formats is deprecated and will be removed from Rails 6.1 (called from block (3 levels) in <top (required)> at /home/kuku/Projects/Permission/spec/controllers/static_pages_controller_spec.rb:8)
F

Failures:

  1) StaticPagesController GET #home returns http success
     Failure/Error: get :home

     ActionView::Template::Error:
       wrong number of arguments (given 2, expected 1)
     # ./spec/controllers/static_pages_controller_spec.rb:8:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # ArgumentError:
     #   wrong number of arguments (given 2, expected 1)
     #   ./spec/controllers/static_pages_controller_spec.rb:8:in `block (3 levels) in <top (required)>'

Finished in 0.01728 seconds (files took 0.9926 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/controllers/static_pages_controller_spec.rb:7 # StaticPagesController GET #home returns http success

мой тест - get :home это строка 8

# frozen_string_literal: true

require 'rails_helper'

RSpec.describe StaticPagesController, type: :controller do
  describe 'GET #home' do
    it 'returns http success' do
      get :home
      expect(response).to have_http_status(:success)
    end
  end
end

и мой контроллер

class StaticPagesController < ApplicationController
  def home; end
end

маршруты.rb

Rails.application.routes.draw do
  root to: 'static_pages#home'
end

Я пытался использовать haml-rails и haml из master-ветки, в которых, похоже, исправлено несколько rails6, но ошибки, которые я получил, такие же:

gem 'haml', github: 'haml/haml', branch: 'master'
gem 'haml-rails', github: 'indirect/haml-rails', branch: 'master'

Любыепредложения, которые я могу попробовать или, может быть, есть какой-нибудь простой способ откатить от rails-haml до erb?

1 Ответ

1 голос
/ 07 апреля 2019

Я обновил rspec, и теперь он проходит - кажется, что rspec не готов к рельсам 6

gem 'rspec-rails', github: 'rspec/rspec-rails', branch: '4-0-dev' 
gem 'rspec', github: 'rspec/rspec', branch: 'master' 
gem 'rspec-core', github: 'rspec/rspec-core', branch: 'master' 
gem 'rspec-mocks', github: 'rspec/rspec-mocks', branch: 'master' 
gem 'rspec-expectations', github: 'rspec/rspec-expectations', branch: 'master' 
gem 'rspec-support', github: 'rspec/rspec-support', branch: 'master' 
...