我最近升级到 Rails 4.1
我使用的是 gem“jasmine-rails”,它本身运行良好。
我也在尝试使用 gem 'jasmine-jquery-rails' 加载固定装置,但无法加载它(jasmine 根本无法识别 jasmine-jquery 函数)。我将“jasmine-jquery.js”添加到我的 jasmine yml 文件中。
我还尝试将文件直接添加到我的 app/javascripts/assets 文件夹中,并将 jasmine.yml 文件更改为
src_dir: "app/assets/javascripts"
src_files:
- "application.{js.coffee,js,coffee}"
- "jasmine-jquery.js"
但它仍然不会加载 jasmine-jquery。
有什么想法吗?
最佳答案
您只需要以下内容。
在 jasmine.yml 文件中有:
spec_files:
- "**/*[Ss]pec.{js.coffee,js,coffee}"
然后在规范文件中,您需要包含测试所需的文件(这些文件在 Assets 管道中,因此您只需要包含它。这就是 jasmine-rails gems 的用途)。
也许这个例子会有所帮助:
//= require jquery
//= require jasmine-jquery
describe("Jasmine jQuery Test", function() {
it("works out of the box", function() {
expect($('<input type="checkbox" checked="checked"/>')).toBeChecked();
});
});
请注意,您需要用于测试的文件。在本例中是 jquery 和 jasmine-jquery。
jquery 是必需的,因为 jasmine-jquery 使用其功能(如 GitHub 上的文档中所述),并且 jasmine-jquery 是必需的,因为我们使用匹配器“toBeChecked()”。
这样想,您所有的 Rails Assets 文件都在 Assets 管道中,因此在您的测试文件中,您只需要包含测试所需的内容即可。
快乐编码
关于ruby-on-rails - rails 4.1 jasmine-jquery 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22992210/