繁体   English   中英

Ember.js QUnit仅使用find()测试可见元素

[英]Ember.js QUnit Test Only Visible Elements With find()

我正在尝试TDD我的第一个Ember应用程序。 我想一次显示一个<article>元素。 我从服务器上收到了几篇文章。 我的显示视图定义了isVisible()以便一次只向用户显示一个<article>

在我的测试中,我想执行以下操作:

equal(find('article').text(), 'foobar');

问题在于它会找到所有文章,无论它们是否可见。

我是Ember的新手,所以我对从这里开始做什么有一些想法,但似乎没有一个理想的选择。

我可以寻找封闭的<div id="embernnn" class="ember-view>标记,并拒绝Ember应用内联display:none样式的实例,但这将依赖于实现而不是抽象。

我可以使用该视图向当前<article>添加一个类,但是如果必须这样做,那么为什么Ember在View中提供isVisible属性?

我猜有更好的方法吗?

我不会使用内联样式,而是使用CSS类。 在视图/组件中,只需添加classNameBindings: ['isVisible'], ,,然后在CSS中可以使用.is-visible { display: block; } .is-visible { display: block; } 实际上,我会颠倒逻辑,因为除非隐藏,否则某些东西应该是可见的,除非可见,否则它们应该是隐藏的,但是我认为您的理解是正确的。

在您的测试用例中,您可以断言该元素具有所需的类,或者使用find('article.is-visible')选择活动的文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM