Jasmine测试检查html是否包含文本并返回boolean

时间:2015-03-31 11:52:33

标签: javascript jquery jasmine karma-jasmine

expect(view.$el.html()).toContain('Admin');

该视图确实包含“管理员”字样。所以我期待它回归真实。我怎样才能做到这一点?

expect(view.$el.html()).toContain('Admin');

返回undefined。如何让它返回true

<header class="main">
  <div id="heading">
    <ul class="header-view right">
      <li class="inline"><a href="#link" class="button help-btn tab-btn"><span>  </span>Help</a></li>
      <li class="inline last"><a href="#og" class="button admin-btn tab-btn expand-admin"><span></span>Admin</a></li>
    </ul>
  </div>
</header>

这是从view.$el.html

返回的内容

请帮忙。

2 个答案:

答案 0 :(得分:70)

toContain()现在can actually be used for substring in string checks

expect(view.$el.html()).toContain('Admin');

答案 1 :(得分:14)

来自Jasmine docs:

  

&#39; toContain&#39; matcher用于查找数组

中的项目

你正试图在字符串中找到一个字符串,所以我会做这样的事情:

expect(view.$el.html().indexOf('Admin') !== -1).toBe(true);