public class A {
public void action() {
....
//findSomeThingThroghClassB logic;
....
}
}
先把A中需要B的部分findSomeThingThroghClassB logic提取成一個PRotected方法
public class A {
public void action() {
....
findSomeThingThroghClassB();
....
}
protected void findSomeThingThroghClassB() {
//findSomeThingThroghClassB logic;
}
}
然后在TestCase中創建A時
A a = new A() {
protected void findSomeThingThroghClassB() {
mockIt();
}
}
這樣在測試中就可以直接使用mock了。
相比其它方法,這種方法對A類的改動較小,而且不需要新增類變量。
新聞熱點
疑難解答