我試圖TDD我的第一個Ember應用程序。我想一次顯示一個<article>
元素。我從服務器上獲得了幾篇文章。我的顯示視圖定義了isVisible()
,因此一次只能向用戶顯示一個<article>
。Ember.js QUnit僅測試可見元素find()
在我的測試,我想要做的事,如:
equal(find('article').text(), 'foobar');
的問題是,它發現所有的文章是否是可見或不可見。
我對Ember相當陌生,所以我對從這裏做些什麼有一些想法,但沒有一個看起來很理想。
我可以尋找封閉的<div id="embernnn" class="ember-view>
標籤,並拒絕Ember應用嵌入式display:none
樣式的實例。但那會依賴於實現而不是抽象。
我可以使用視圖向當前的<article>
添加一個類,但如果我必須這樣做,那麼爲什麼Ember會在視圖中提供isVisible屬性?
我猜這有更好的辦法嗎?
謝謝@mpowered。這就說得通了。 Ember讓我在視圖上定義isVisible(),如果我無法輕鬆測試它,這只是讓人感到有趣。另外,不應該像你所建議的那樣將classNameBindings放在視圖中而不是控制器中?我同意,除非隱藏是最好的。 – davidkovsky
是的,我錯過了,因爲我傾向於幾乎所有東西都使用組件。我現在真的只使用應用程序視圖,並使用其他組件。對不起,如果我不清楚:-) – mpowered
不用擔心,我只是想保持清晰的記錄。我不確定在視圖中定義isVisible()的想法。按照我的問題所述,通過自動將內聯樣式的display:none添加到封閉的embernnn元素,它可以按需要工作。但是如果沒有很好的測試支持,那麼我會和你的答案一起去。 – davidkovsky