2010-08-31 26 views
2

我必須爲需要複雜對象Graph的方法編寫單元測試。目前我正在爲每個測試編寫一個Create方法,如下所示。用於創建測試對象圖的模式?

1. private static Entity Create_ObjectGraph_For_Test1() 
2. private static Entity Create_ObjectGraph_For_Test2() 
...... And So on 

創建方法有大約10個步驟,他們可能會相差1-2個步驟。創建複雜對象圖的最佳方法是什麼?除了爲每個測試創建一個Create方法之外,我還可以爲單個Create方法添加參數,但如果Test的no數量大約爲10左右,則可能會造成混淆。

+0

[測試數據生成器模式:更有用或更維持?]的可能的重複(http://stackoverflow.com/questions/187799/test-data-builder-pattern-more-useful-or-more-upkeep) – 2010-09-06 15:20:18

回答

1

您可以提取步驟進入方法,可能是參數化的他們,並讓他們鏈能夠這樣一方面可以寫:

Entity myGraph = GraphFactory.createGraph().step1().step2(<parm>).step3(<parm>); 

Choising有意義的名字,使夾具可讀。

1

將大量常用設置代碼放入當然也許是可能的:setup()方法,然後稍微修改每個單獨測試的對象圖。如果不同測試的設置完全不同,那麼我會鼓勵您將測試分成不同的類別,並將其設置分別放入每個測試類別。