如果我用bin/rails test运行测试,它会触发YAR运行两次,一次是针对esbuild,一次是针对css.如果我对bin/rails test test/**/**.rbbin/rails test test/运行所有相同的测试,测试会立即运行.

为什么在我不运行系统测试时会发生这种情况?)

Versions: Rails 7.1.1, Ruby 3.2.2, Minitest 5.20.0
App created with rails new my_app --javascript esbuild --css bootstrap


另外一个问题--我下次怎么自己解决这个问题呢?

我的测试助手似乎没有调用rails test:prepare或其他触发yarn的东西:

# test/test_helper.rb
ENV["RAILS_ENV"] ||= "test"
require_relative "../config/environment"
require "rails/test_help"

module ActiveSupport
  class TestCase
    # Run tests in parallel with specified workers
    parallelize(workers: :number_of_processors)

    # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
    fixtures :all

    # Add more helper methods to be used by all tests here...
  end
end

我试着浏览了test_helper.rb中的每个required文件,但在其他任何地方都找不到任何被告知要进行Yarn /assets资源 /预编译的地方:

  • ../config/environment
    • config/application
      • config/boot°
      • rails/all章(不知道从哪里开始)
  • rails/test_help ❓ (read through source but only looked in to one of the things it requires)
    • active_support/testing/autorun麸质(source)

我也try 了bundle open minitest,希望在那里配置一些东西,但我四处摸索了一下,没有看到任何相关的东西.

在哪里配置了用于测试的Yarn /assets资源 编译"魔术"?

推荐答案

"我的测试助手似乎没有拨打rails test:prepare"

当您不带任何参数调用rails test时,它会为您Source调用test:prepare

run_prepare_task if self.args.none?(EXACT_TEST_ARGUMENT_PATTERN)

Source

Rails::Command::RakeCommand.perform("test:prepare", [], {})

正如在Upgrade Guide中提到的

当通过bin/rails test运行测试时,rake test:prepare任务将在测试运行之前运行.如果您已经增强了test:prepare任务,那么您的增强将在测试之前运行.tailwindcss-railsjsbundling-railscssbundling-rails增强了这项任务,其他第三方gem也是如此.

您可以看到,这确实构建了yarnCssbundlingJsbundling

Ruby-on-rails相关问答推荐

Ruby线程使用互斥处理并发问题

如何在_serialize之前执行代码?""或者如何在序列化属性之前对属性进行清理?

在has_many关系中由两个条件 Select

Sidekiq with Rails - 控制台与 rake 任务中的不同 Sidekiq 实例

如何通过graphqlMutations 从rails销毁当前用户会话

Rails 使用多个外键创建/构建

Heroku 应用程序上的远程 mysql 数据库

判断 DateTime 值是今天、明天还是以后

为什么使用 HTTP PUT 和 DELETE 方法而不是 POST?

添加自定义字段/列以使用 Rails 4 进行设计

Phusion 乘客(适合傻瓜!)

从 Rails 模型内部访问翻译文件 (i18n)

Rails 错误:无法批量分配受保护的属性

Rails:仅当值存在时如何验证格式?

Rails 3. 构建 oauth2 提供程序

在 factory_girl 中填充与 children 的关联

Ruby gem 命名约定

Rails:带参数的 URL/路径

我怎样才能看到水豚在失败的黄瓜步骤中发现了什么?

何时(如果)合并 ActiveRecord 迁移?