我最近升级到了Rails 4.1
我使用的是gem 'jasmine-rails',它本身工作得很好。
我也在尝试使用gem ' jasmine-jquery -rails‘来加载fixture,但无法加载它(jasmine根本无法识别jasmine-jquery函数)。我在我的jasmine yml文件中添加了"jasmine-jquery.js“。
我还尝试将文件直接添加到我的app/javascripts/assets文件夹中,并将jasmine.yml文件更改为
src_dir: "app/assets/javascripts"
src_files:
- "application.{js.coffee,js,coffee}"
- "jasmine-jquery.js"但是它仍然不会加载jasmine-jquery。
有什么想法吗?
发布于 2015-04-17 11:27:23
您所需要的只是以下内容。
在jasmine.yml文件中,具有以下内容就足够了:
spec_files:
- "**/*[Ss]pec.{js.coffee,js,coffee}"然后,在规范文件中,您需要包含测试所需的文件(这些文件位于资产管道中,因此您只需将其包含在内。这就是jasmine-rails gem的用途)。
也许这个例子可能会有所帮助:
//= 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资产文件都在资产管道中,所以在测试文件中只需要包含测试所需的内容。
快乐编码
发布于 2014-07-24 21:17:12
尝试添加:
#= require jquery
#= require support/jasmine-jquery-1.7.0添加到spec/javascripts/spec_helper.coffee文件中。
HTH,Jarra
发布于 2017-08-13 08:51:49
@Elyasin给出了一个可行的解决方案,除了你必须在你的每个js规范文件中都需要jasmine-jquery。将//= require jasmine-jquery添加到app/assets/javascripts/application.js。这样,您就不必在其他任何地方再需要它了。这对我来说很好。
https://stackoverflow.com/questions/22992210
复制相似问题