我目前正在編寫一個單元測試,檢查一個方法是否正確排序列表。列表排序實現的單元測試?
排序方法正在覆蓋類別Comparator
中的compare
方法,並且正在使用Collections.sort()
對列表進行排序。
它可能不是一個技術問題,但我正在尋找一種方式來使用JUnit的斷言來檢查列表正確排序...
名單由類型的內部參數排序它正在舉行,讓我叫它id
。因此,當列表包含3個ID爲3,1,2的項目時,它們應按1,2,3分類。
Long expected1 = listOfObjects.get(0).getId()
Long expected2 = listOfObjects.get(1).getId()
Long expected3 = listOfObjects.get(2).getId()
然後在這些長對象上使用asserions看起來並不乾淨,也不聰明。我正在尋找一個想法如何幹淨,聰明地測試這種情況下,但我的想法...
你有限制自己的JUnit?你可以在這裏使用assertj效果很好 – fge
可能的重複[如何檢查集合是否包含使用Hamcrest的給定順序的項目](http://stackoverflow.com/questions/15609132/how-to-check-if-collection-contains使用hamcrest的問題) –
不完全是問題,但是因爲使用了Collections.sort(),所以簡單地測試比較器類是不是更容易?它有你想要排序的邏輯,它可能更容易測試(總是相同的輸入等),例如Assert.assertEquals(1,comparator.compare(1,2))等 – pandaadb