我正在努力將盡可能多的邏輯移出自定義控件,以便它可以進行單元測試以減少手動測試負擔。我遇到了一種情況,即被測方法產生複雜的結果。編寫一個計算結果的測試用例將涉及將基本上是被測代碼寫入測試本身。如何編寫需要重複測試代碼的代碼測試?
例如,我有一個GeometryGenerator
類,該類根據類的屬性創建WPF幾何。在一種配置中,生成由ArcSegment
組成的PathGeometry
。我可以根據測試參數計算弧的屬性,但是這個計算與我試圖測試的代碼是一樣的。這似乎會使測試失效;如果計算中存在缺陷,則測試中會存在缺陷,如果計算髮生變化,則可能在測試中更改。
我該如何處理這種情況?我想出的唯一方法是手動計算測試用例的結果並將這些值硬編碼到測試中。這是一個可以接受的方法嗎(看起來像我在執行之前編寫測試時所做的一樣)?