web-dev-qa-db-ja.com

ジャスミンテストは、htmlにテキストが含まれているかどうかをチェックし、ブール値を返します

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

ビューには「Admin」という単語が含まれているため、trueが返されると予想していました。どうすればこれを達成できますか?

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から返されるものです

助けてください。

38
Spdexter

Jasmine docsから:

「toContain」マッチャーは、Arrayでアイテムを見つけるためのものです

あなたは文字列内の文字列を見つけようとしているので、私はこのようなことをします:

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

toContain() now 実際に文字列チェックのサブストリングに使用できます

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