Rails 6 在为 javascript 测试用例执行茶匙时获取 Module#parent' 已重命名为 'module_parent'

Rails 6 when executing teaspoon for javascript testcases getting Module#parent` has been renamed to `module_parent`

提问人:venkata seshanka 提问时间:8/5/2020 最后编辑:venkata seshanka 更新时间:8/6/2020 访问量:609

问:

使用 teaspoon gem for javascript 测试用例执行测试用例时出现以下错误。我不确定为什么在执行茶匙时会考虑样式表文件夹。这样一来,测试用例的执行就会延迟

注意:我们有一个样式表文件夹,其中包含 .sass 和 .scss 文件。删除 stylesheets 文件夹不会发出以下弃用警告

$ RAILS_ENV=test bundle exec teaspoon --coverage=default

     
2020-08-05 17:49:16 WARN Selenium [DEPRECATION] Selenium::WebDriver::Chrome#driver_path= is deprecated. Use Selenium::WebDriver::Chrome::Service#driver_path= instead.

log_level -------------->debug

Starting the Teaspoon server...

Teaspoon running default suite at http://127.0.0.1:45856/jasmine/default

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:72)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:73)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:72)

DEPRECATION WARNING: `Module#parent` has been renamed to `module_parent`. `parent` is deprecated and will be removed in Rails 6.1. (called from sass_importer_class at /home/tanmaya/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-rails-4.0.0/lib/compass-rails/patches/sass_importer.rb:73)

DEPRECATION WARNING on line 87 of /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss:
#{} interpolation near operators will be simplified in a future version of Sass.

To preserve the current behavior, use quotes:

  unquote('"$moz-"#{$experimental-support-for-mozilla} "$webkit-"#{$experimental-support-for-webkit} "$opera-"#{$experimental-support-for-opera} "$microsoft-"#{$experimental-support-for-microsoft} "$khtml-"#{$experimental-support-for-khtml}')

You can use the sass-convert command to automatically fix most cases.

DEPRECATION WARNING on line 92 of /home/t/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_deprecated-support.scss:
#{} interpolation near operators will be simplified in a future version of Sass.
To preserve the current behavior, use quotes:

  unquote('"$ie6-"#{$legacy-support-for-ie6} "$ie7-"#{$legacy-support-for-ie7} "$ie8-"#{$legacy-support-for-ie8}')

You can use the sass-convert command to automatically fix most cases.
Ruby-on-Rails 红宝石 指南针-萨斯

评论


答:

0赞 venkata seshanka 8/6/2020 #1

找到解决方案,我们通过限制预编译配置仅在测试环境中的 js 文件来排除茶匙样式表扫描。

     Rails.application.config.assets.precompile = %w( *.js)
  • 其他 evnvironments 可以包含 assets 文件夹,这意味着使用上述预编译配置中所有 js 和 css 文件的模式。

注意:(在命令提示符下运行 teaspoon 命令以在 assets.rb 文件中具有条件时,通过RAILS_ENV传递测试环境)。