Jasmine Rails,未从子目录加载 src_files
Posted
技术标签:
【中文标题】Jasmine Rails,未从子目录加载 src_files【英文标题】:Jasmine Rails, src_files not being loaded from subdirectory 【发布时间】:2021-03-24 00:13:14 【问题描述】:宝石文件:
source 'https://rubygems.org'
ruby '2.6.6'
gem 'rails', '5.0.2'
gem "pry"
gem 'aasm'
gem 'figaro', '~> 1.0.0'
gem 'sucker_punch' , "~> 1.0"
gem 'stripe'
gem 'square.rb'
gem 'gon'
gem 'twilio-ruby'
gem 'nokogiri'
gem 'lograge'
gem 'sass-rails'
# # Use Uglifier as compressor for javascript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
# gem 'coffee-rails', '~> 4.0.0' # doesn't work with rails 5
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'platform-api'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
group: development do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end
gem 'pg', '~> 0.18'
group :production do
gem 'rails_12factor', '0.0.2'
gem 'newrelic_rpm'
gem 'puma'
gem 'rack-timeout'
end
group :test do
gem 'rspec-rails', '~> 3.5'
gem 'factory_girl_rails'
gem 'selenium-webdriver'
gem 'capybara'
gem 'faker'
gem 'launchy', '~> 2.4.2'
gem 'database_cleaner'
gem 'jasmine', "2.6"
gem 'jasmine-jquery-rails'
end
这就是我的 JS 文件夹的组织方式
> assets/javascripts
> 0_global
> utility.js
> ...
> 2_place_order
> cart.js
> item.js
> ...
> 0_global.js
> 2_place_order.js
其中assets/javascripts
文件夹中的***.js
文件需要对应的目录。即,
0_global.js
//= require_directory ./0_global
2_place_order.js
//= require_directory ./2_place_order
我无法将此设置与我的茉莉花一起使用。所以在jasmine.yml
中,我需要*** js 文件,因为该文件已经需要目录,它应该加载,但它没有。即,以下不起作用:
src_files:
- assets/0_global.js
- assets/2_place_order.js
有没有其他方法可以让它发挥作用?我也试过:
src_files:
- assets/0_global/*.js
- assets/2_place_order/*.js
需要设置jasmine.yml
中的目录,但这也不起作用。想尽量不用枚举子目录下的每一个js文件。
谢谢!
【问题讨论】:
是sprockets/railtie
包含在您的 Gemfile
中。
你在运行 jasmine 时遇到了什么错误,你能把它包括在你的问题中吗
@chandan 问题是我没有收到错误,真的,它只是说找不到某些功能ReferenceError
所以我只知道它没有被加载。如果我抛出一个console.log
,我有进一步的证据表明它未加载。我没有使用sprockets or railtie
你能分享你的Gemfile
@Chandan 添加了它
【参考方案1】:
我对茉莉花一无所知,但看着homepage 似乎jasmine.yml
会期望字符串被引用:
# minimalist jasmine.yml configuration when leveraging asset pipeline
spec_files:
- "**/*[Ss]pec.js,coffee"
【讨论】:
其实我的文档中的任何一个都可以,不过谢谢以上是关于Jasmine Rails,未从子目录加载 src_files的主要内容,如果未能解决你的问题,请参考以下文章
Karma/Jasmine 测试失败并出现错误:'未捕获的错误:尚未为上下文加载模块名称“simple_test.js”:_。使用要求([])'
使用 Jasmine 和 Rails 3.1 测试 Coffeescript