我有一個函數可以對輸入向量列表執行分層聚類。返回值是對象層次結構的根元素,其中每個對象表示一個集羣。我想測試以下內容:爲返回對象層次結構的函數編寫單元測試
- 每個集羣是否包含正確的元素(以及其他屬性)?
- 每個羣集都指向正確的孩子嗎?
- 每個羣集都指向正確的父級?
我在這裏有兩個問題。首先,如何以可讀格式指定預期輸出。其次,我如何編寫測試斷言接受我提供的預期數據的同構變體?假設預期層級中的一個羣集有兩個子羣,分別爲A
和B
。現在假設該簇由具有child1
和child2
屬性的對象表示。我不在乎child1
是否對應於羣集A
或B
,只是它對應於其中之一,並且child2
對應於另一個。該解決方案應該有點通用,因爲我會用不同的輸入數據寫幾個測試。
其實我這裏的主要問題是找到一種方法來指定預期的輸出,以可讀和可理解的方式。有什麼建議麼?
+1。完全同意。 – 2010-08-15 13:47:59