使用 Jasmine Rubygem 时,我发现我必须遵守生成的目录结构,该目录结构在文件夹中有一个子文件夹,这非常javascripts
烦人spec
。我觉得它没用,因为我完全用 Javascript 编写。
我发现我可以public
通过更改生成的文件夹来更改它jasmine.yml
,但是,这不是我想要的,因为我仍然必须随身javascripts
携带文件夹。
有没有办法自定义这个文件夹结构?
使用 Jasmine Rubygem 时,我发现我必须遵守生成的目录结构,该目录结构在文件夹中有一个子文件夹,这非常javascripts
烦人spec
。我觉得它没用,因为我完全用 Javascript 编写。
我发现我可以public
通过更改生成的文件夹来更改它jasmine.yml
,但是,这不是我想要的,因为我仍然必须随身javascripts
携带文件夹。
有没有办法自定义这个文件夹结构?
以下是我使用 jasmine gem 1.0.2.1 的方法:
1)自定义jasmine_config.rb文件覆盖simple_config_file方法指向正确的yml文件路径。该文件最初在 spec/javascripts/support/jasmine_config.rb 中生成。正如在 github 源 (https://github.com/pivotal/jasmine-gem/blob/v1.0.2.1/lib/jasmine/config.rb) 上看到的,该方法被硬编码为使用:
def simple_config_file
File.join(project_root, 'spec/javascripts/support/jasmine.yml')
end
我想将我的“spec”目录重命名为“test”,所以我的 jasmine_config.rb 文件的顶部如下所示:
module Jasmine
class Config
def simple_config_file
File.join(project_root, 'test/javascripts/support/jasmine.yml')
end
end
end
2) 强制 rake 加载配置文件。我通过添加以下行来做到这一点:
require 'test/javascripts/support/jasmine_config.rb'
在我的 Rakefile 中要求 jasmine 之后立即。
3) 更新 jasmine.yml(也在支持文件夹中)以指示您的 javascript 测试文件所在的位置。我的 yml 文件现在以此结尾:
# EXAMPLE:
#
# spec_dir: spec/javascripts
#
spec_dir: test/javascripts
当然,您需要将该路径“测试”调整为您想要的。
我认为这种方法应该适用于最新版本的 gem,但是如果他们更改该 Config 类的接口,这种方法将来会中断。
jasmine-browser-runner
自 2021 年起,以下是在使用NodeJS时更改文件夹名称的方法。
安装 jasmine 并设置项目:
npm install --save-dev jasmine-browser-runner jasmine-core
npx jasmine-browser-runner init
spec
将文件夹重命名为test
并编辑jasmine-browser.json
:
"specDir": "test"
使用以下命令运行测试:
npx jasmine-browser-runner runSpecs --config=test/support/jasmine-browser.json