jasmine-jquery实现出错?

时间:2013-12-10 14:56:27

标签: javascript ruby-on-rails ruby-on-rails-4 jasmine

我刚刚开始使用Jasmine,并在我的Rails 4项目中实现了它。

就像我做的一个简单测试一样:

//= require activities

describe('activities', function() {
  it("Some div to be div", function() {
    expect($('<input type="checkbox" checked="checked"/>')).toBeChecked()
  });
});

这给了我错误TypeError: Object [object Object] has no method 'toBeChecked'。所以我只能假设没有正确加载jQuery或jasmine-jquery。

文档告诉我将jasmine-jquery和jquery包含在我的yaml中。所以我这样做了:

src_files:
  - assets/application.js
  - jquery
  - jasmine-jquery

stylesheets:
  - stylesheets/**/*.css

helpers:
  - helpers/**/*.js

spec_files:
  - '**/*[sS]pec.js'

src_dir:

spec_dir: spec/javascripts

我可能没有正确地将jasmine-jquery和jquery加载到我的测试环境中吗?

1 个答案:

答案 0 :(得分:0)

此对象$('<input type="checkbox" checked="checked"/>')只是一个jQuery对象。它还没有在DOM中,所以你不能说它已被检查:)

要使其正常工作,您首先需要在dom上显示它。

var checkbox;

checkbox = $('<input type="checkbox" checked="checked"/>')
$('body').append(checkbox);

expect($("input[type='checkbox']").toBeChecked();