1

Minitest 中为四个操作(索引、显示、新建、编辑)生成错误

ActionView::Template::Error: Error: @supports condition expected declaration
    on line 9749:12 of stdin
>> @supports (scroll-snap-type) {
-----------^
app/views/layouts/application.html.erb:9

应用程序布局的行调用

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>

控制器测试套件有 13 次运行。9 次通过,但它们都处理非视图方法(更新、创建、销毁)。

在没有stylesheet_link_tag激活的情况下,加上或减去它的选项,测试是否通过。设置为<%#测试运行(并通过)的那一刻

奇怪的是,这些测试过去通过并且application.html.erb没有被修改。Turbolinks 不能被删除(如果有一个测试套件为此失败似乎很奇怪)。

唯一的变化是引入了覆盖率和 ruby​​critic 宝石。然而以两种不同的方式调用测试

rails test test/controllers/channels_controller_test.rb
COVERAGE=TRUE rails test test/controllers/channels_controller_test.rb

导致相同的结果。
测试助手也切换了前两行以在没有覆盖的情况下进行测试

require 'simplecov'
SimpleCov.start 'rails'

# Previous content of test helper now starts here

ENV['RAILS_ENV'] ||= 'test'
require_relative "../config/environment"
require "rails/test_help"
require 'webmock/minitest'


class ActiveSupport::TestCase

  fixtures :all

  def log_in_as(user, shop)
    post user_session_url, params: { user_id: user.id, active_shop_id: @site.shop_id }
  end

end

移除宝石

# gem 'rubycritic', '~> 4.6', '>= 4.6.1', require: false

group :test do
#  gem 'simplecov', '~> 0.21.2'
end

也产生相同的结果。

应该配置什么以便 minitest 知道如何处理 turbolink?

4

1 回答 1

0

解决此问题的关键在于错误消息的一个组件

 on line 9749:12 

那么它只能来自一个css文件。检查结果application.css文件允许立即转到该行。

于 2021-11-21T17:45:16.983 回答