【发布时间】:2021-11-19 07:35:57
【问题描述】:
在 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 不能被删除(如果测试套件因此而失败似乎很奇怪)。
唯一的变化是引入了覆盖率和 rubycritic 宝石。然而以两种不同的方式调用测试
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?
【问题讨论】:
标签: ruby-on-rails minitest simplecov