Jasmine 测试检查 html 是否包含文本和 return 布尔值

Jasmine tests check if html contains text and return boolean

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

该视图确实包含 'Admin' 这个词,所以我希望它 return 正确。我怎样才能做到这一点?

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

这个returns undefined。我怎样才能做到 return 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>

这是 return 编辑自 view.$el.html

请帮忙。

来自 Jasmine 文档:

The 'toContain' matcher is for finding an item in an Array

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

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

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

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