我正在嘗試編寫一個硒元素自動化測試,在元素數組中沒有重複的元素。Java斷言在自動化測試中沒有兩個元素是相同的
例如有一個數組[「劉德華」,「鮑勃」,「查」,「國寶」,「大衛」]
我想寫一個自動化測試斷言有顯示沒有重複的名字。以下似乎並沒有很好地工作......
assertThat(getArray(), is(not(getArray())));
我怎麼會寫我的斷言語句,以檢查陣列中的每個項目,以確保有沒有重複?
我正在嘗試編寫一個硒元素自動化測試,在元素數組中沒有重複的元素。Java斷言在自動化測試中沒有兩個元素是相同的
例如有一個數組[「劉德華」,「鮑勃」,「查」,「國寶」,「大衛」]
我想寫一個自動化測試斷言有顯示沒有重複的名字。以下似乎並沒有很好地工作......
assertThat(getArray(), is(not(getArray())));
我怎麼會寫我的斷言語句,以檢查陣列中的每個項目,以確保有沒有重複?
將您的數組轉換爲一組:
Set mySet = new HashSet(Arrays.asList(someArray));
然後斷言mySet.size() == someArray.length
。將數組轉換爲一個集合會摺疊重複項,這會減小大小;如果大小已經減小,則知道有重複。
還有一個解決方案。假設「名稱」是你的數組。由於如果項目將是非唯一的,add()將返回false:
Set tempSet = new HashSet();
for (String str : names) {
assertTrue(tempSet.add(str));
}