所以,我已經實現了我的業務類,我通過構造函數傳入所有依賴關係,因此我可以將它們嘲笑出來並輕鬆地進行單元測試。這到目前爲止效果很好,但是之後,我需要從這些對象中創建一個對象圖。爲此,我使用了一個靜態工廠(我不能使用DI框架,令人傷心)。例如:如何測試/模擬這個靜態工廠(用於圖形構造)?
public class FooBar {
public FooBar(Foo foo, Bar bar) {
this.foo = foo;
this.bar = bar;
}
}
public class Foo {
public Foo() {}
}
public class Bar {
public Bar(Foo foo) {
this.foo = foo;
}
}
public class GraphFactory {
public static FooBar newFooBar() {
Foo foo = new Foo();
Bar bar = new Bar(foo);
return new FooBar(foo, bar);
}
}
所以,我不能夠真正檢驗GraphFactory(不能嘲笑的依賴關係),這是還挺好的(沒有太多的工作都是在這裏完成)。但是,如果構建圖更復雜,即涉及查找某些屬性,執行JNDI查找等,該怎麼辦?
我還不應該爲此編寫單元測試嗎?我的課程設計是否可能破裂?單元測試的目的不是孤立地測試類嗎?
提供編譯示例如何?我懷疑'公共靜態newFooBar(){...}'實際上編譯... – Romain 2012-02-15 09:16:49
@Romain Sry,修復了。 – helpermethod 2012-02-15 09:20:54