es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que Minitest pueda manejar Turbolinks, el stylesheet_link_tag debe ser configurado para incluir la opción data-turbolinks-track. Esta opción debe estar configurada en reload para asegurarse de que la hoja de estilo sea recargada cuando se utiliza Turbolinks. Además, los gems rubycritic y simplecov deben ser eliminados del Gemfile, ya que no son necesarios para que se ejecute la suite de pruebas.

Comments are closed.