我目前正在修改其他人的R-Tree實現以添加其他行爲。我想確保一旦我做出改變,樹的基本結構保持不變。如何輕鬆比較修改的代碼和參考實現?
我目前的做法是創建引用代碼的副本並將其移入它自己的包(tree_ref)中。然後我創建了一個單元測試,其中包含我的修改樹和原始樹的實例(在tree_ref中)。我用數據填充樹,然後檢查它們的字段值是否相同 - 在這種情況下,我聲明測試用例已通過。
這讓我覺得這可能不是最好的方法,並且可能有一些我不知道解決此問題的公認方法。我無法通過搜索找到一個。
任何幫助表示讚賞。謝謝。
想想這個的另一種方法是:如果您是從頭開始編寫而沒有參考文件,您將如何測試您的實現? –
你爲什麼不使用組合?這樣,只需測試新添加的方法即可,只要原始實現已經過測試即可。 – fge
@fge感謝您的建議;我認爲我不需要修改代碼,所以我認爲這可以讓我執行比較,而只需要原始代碼的一個副本,這將是很好的。我會更多地研究它:)。 – Danny