0

テストしようとしているマスター/詳細ページがあります。のリストがありthings、クリックすると のルートがレンダリングされますthing

次のテストでは、クリックするものを見つけthingますが、クリックしていないようです。

@exists = (selector) ->
  !!find(selector).length

...

test "things expand to show a detail view", 1, ->
   visit("/").then(->
     click(".things li:contains('Example Thing')")
   ).then ->
     ok(@exists("h2")) # a tag in the detail view

...

<ul class='things'>
  {{#each controller}}
    <li>{{#linkTo 'thing' this}}{{title}}{{/linkTo}}</li>
  {{/each}}
</ul>

{{outlet}}

...

<div class='thing'>
  <h2>{{title}}</h2>
</div>

これは次のように提起します:Failure/Error: Element h2 not found.誰かが私が欠けているものを知っていますか/このテストに合格する方法を知っていますか?

ブラウザーでティースプーン (以前はティーバッグと呼ばれていました) をテスト ランナーとして使用していますが、それによって違いが生じる場合があります。テストがカチッと鳴るのに合わせて、インタラクションが発生するのを確認できるようにする必要がありますか?

4

1 に答える 1

0

要素をクリックするのではなく、<li>要素をクリックしてください<a>linkToハンドルバーのヘルパー<a>は、DOM でタグを生成します。

のようなものclick(".things li:contains('Example Thing') a ")が動作するはずです。

于 2013-08-07T07:33:32.227 に答える