2011-02-01 64 views
4

我試圖單元測試建設者風格的圖案,看起來像這樣(mockedObject注入功能,所以我可以嘲笑它):我試圖找出測試Builder模式

Thing thing = 
    mockedObject.createThing() 
    .addParam1() 
    .addParam2(mockedObject.createParam2() 
        .someData() 
        .build()) 
    .build(); 

mockedObject.use(thing); 

如何測試它(使用JUnit和Easymock),而不必模擬出整個構建器對象。我需要測試的結果對象是param1param2是用特定值設置的。

嘲笑整個構建器模式會使測試非常脆弱,而不是我應該先測試的東西。

有沒有更好的方法來測試這個?

回答

0

我想解決如何測試這個(使用JUnit和Easymock),而不必嘲笑整個生成器對象。我需要對結果對象進行測試的是param1和param2被設置爲特定的值。

嘲弄了整個生成器模式 將使測試非常脆 及其不是我應該測試 開始。

究竟是什麼行爲你想在這裏測試?如果您正在測試構建器是否正確構建對象,則構建器不是您應該嘲笑的內容。

也許問題會更清楚,如果你發佈你正在測試的方法和更完整的測試代碼,但現在看起來根本不像測試。

+0

我想要測試mockedObject.use()與特定屬性設置的對象調用。不幸的是,mockedObject也是構建器。我已經對構建器進行了測試,我所關心的只是在此函數中設置了某些屬性。 – laurencer 2011-03-06 06:33:50