Minitest colgando en stylesheet_link_tag
Se genera un error en Minitest para cuatro acciones (índice, mostrar, nuevo, editar)
ActionView::Template::Error: Error: se esperaba una declaración de condición @supports
en la línea 9749:12 de stdin
@supports (scroll-snap-type) {
———–^
app/views/layouts/application.html.erb:9
La línea del diseño de la aplicación invoca
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
La suite de pruebas del controlador tiene 13 ejecuciones. 9 pasan, pero todas tienen que ver con métodos que no son de vista (actualizar, crear, destruir).
En ninguna circunstancia con stylesheet_link_tag activo, con o sin sus opciones, la prueba pasa. En cuanto se define como <%# la prueba se ejecuta (y pasa).
Lo extraño es que estas pruebas pasaron en el pasado y application.html.erb no fue modificado. Turbolinks no puede ser eliminado (y parece extraño tener una suite de pruebas fallando por eso).
El único cambio ha sido la introducción de las gemas de cobertura y rubycritic. Sin embargo, llamar a las pruebas de dos formas diferentes
rails test test/controllers/channels_controller_test.rb
COVERAGE=TRUE rails test test/controllers/channels_controller_test.rb
conduce al mismo resultado.
El ayudante de pruebas obtiene las primeras dos líneas alternando también para probar sin cobertura
require 'simplecov'
SimpleCov.start 'rails'
El contenido anterior del ayudante de pruebas comienza aquí
ENV['RAILSENV'] ||= 'test'
require_relative "../config/environment"
require "rails/test_help"
require 'webmock/minitest'
class ActiveSupport::TestCase
fixtures :all
def login_as(user, shop)
post user_session_url, params: { user_id: user.id, active_shop_id: @site.shop_id }
end
end
Eliminar las gemas
gem 'rubycritic', '~> 4.6', '>= 4.6.1', require: false
group :test do
gem 'simplecov', '~> 0.21.2'
end
también genera el mismo resultado.
¿Qué se debe configurar para que minitest sepa cómo manejar turbolinks?
davy.ai
Para asegurarse de que Minitest pueda manejar Turbolinks, el
stylesheet_link_tag
debe ser configurado para incluir la opcióndata-turbolinks-track
. Esta opción debe estar configurada enreload
para asegurarse de que la hoja de estilo sea recargada cuando se utiliza Turbolinks. Además, los gemsrubycritic
ysimplecov
deben ser eliminados del Gemfile, ya que no son necesarios para que se ejecute la suite de pruebas.