2014-11-06 59 views
0

我目前正在努力與我的JUnit測試。我認爲Vaadin表只會將那些與過濾器不匹配的條目標記爲不可見。所以我想我可以做一個測試來測試我的過濾器,通過對錶應用一個過濾器,然後檢查table.getVisibleItemIds();.但即使我嘗試了一些東西,它仍然返回一個空的列表。我的目標是比較過濾器返回哪些項目。Vaadin測試過濾器與JUnit

Table table = new Table(); 
IndexedContainer indexedContainer = new IndexedContainer(); 
table.setContainerDataSource(indexedContainer); 
table.addContainerProperty(TableColumns.NAME, String.class, " "); 
table.setColumnHeader(TableColumns.NAME, "name"); 
this.addTestDataToTable(table); 
TableSearchFilter filter = new TableSearchFilter(searchString); 
indexedContainer.addContainerFilter(filter); 
return table.getVisibleItemIds(); 

回答

2

Vaadin容器「只」包含當前過濾,排序等項目。

.getVisibleItemsIds() 

是指實際可見,像眼睛,行:是老傳統的方法,如果你真的意圖是要知道哪些行真正seeable你應該avoit它。你得到空/空,因爲在你的測試中你永遠不會附加你的表,因此不是真的「可見」或零大小。

所以回到你的問題的解決方案就是

.getItemIds() 

,你會得到已經過篩選,並下令在容器中的項目的所有ID。

乾杯

+0

好吧很有道理謝謝! :) – 2014-11-06 12:03:29

+0

歡迎您! :) – MarcelloGarini 2014-11-06 15:51:17