为什么Jasmine在我的页面上找不到String

时间:2014-02-08 11:52:14

标签: javascript jasmine

我正在编写一些Jasmine测试,toContain没有在页面上找到字符串。这是其中之一:

  it('should contain Superhero', function() {
    expect(el).toContain('Superhero');
  });

以下是el Jquery对象的值: enter image description here

此外,这是Karma中的错误:

Chrome 32.0.1700 (Mac OS X 10.8.5) marvelApp directives detail.window.directive should contain Superhero FAILED
    TypeError: Object [object Object] has no method 'indexOf'
        at null.<anonymous> (/Users/mhamm/Developer/marvel/test/mainCtrlSpec.js:61:20)
Chrome 32.0.1700 (Mac OS X 10.8.5): Executed 1 of 0 (1 FAILED) ERROR (0 secs / 10 mins 37.377 secs)

为什么Jasmine在我的el中看不到超级英雄的价值?

2 个答案:

答案 0 :(得分:1)

方法toContain期望函数expect得到一个字符串,而不是jQuery对象:

  it('should contain Superhero', function() {
    expect(el.html()).toContain('Superhero');
  });

这就是为什么你会收到这个错误:

  

[object Object] has no method 'indexOf'

答案 1 :(得分:0)

it('should contain Superhero', function() {
  expect(el.text()).toContain('Superhero');
});