2015-04-20 56 views
0

我正在嘗試編寫一個硒元素自動化測試,在元素數組中沒有重複的元素。Java斷言在自動化測試中沒有兩個元素是相同的

例如有一個數組[「劉德華」,「鮑勃」,「查」,「國寶」,「大衛」]

我想寫一個自動化測試斷言有顯示沒有重複的名字。以下似乎並沒有很好地工作......

assertThat(getArray(), is(not(getArray()))); 

我怎麼會寫我的斷言語句,以檢查陣列中的每個項目,以確保有沒有重複?

回答

3

將您的數組轉換爲一組:

Set mySet = new HashSet(Arrays.asList(someArray)); 

然後斷言mySet.size() == someArray.length。將數組轉換爲一個集合會摺疊重複項,這會減小大小;如果大小已經減小,則知道有重複。

0

還有一個解決方案。假設「名稱」是你的數組。由於如果項目將是非唯一的,add()將返回false:

Set tempSet = new HashSet(); 
for (String str : names) { 
    assertTrue(tempSet.add(str)); 
} 
相關問題