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 回答