2012-07-20 59 views
-1

我一直在寫很多使用假貨的Java代碼,但這些假貨具有可控行爲。他們往往假冒實際的硬件,所以一個例子可能是一個測試,我告訴假冒它應該表現得好像它的通訊丟失一樣,或者報告硬件故障。一個簡單的例子:測試雙打:什麼是可以控制的「假」的名稱

interface CommDevice { 
    boolean isConnected(); 
} 

class FakeCommDevice implements CommDevice { 
    private boolean connected; 
    public boolean isConnected() {return connected;} 
    public void setConnected(boolean x) {connected=x;} 
} 

我應該把控制代碼放到一個新的界面嗎?例如。

class FakeCommDevice implements CommDevice { 
    public class Manager() { 
     public void setConnected(boolean x) {connected=x;} 
    } 
    private boolean connected; 
    public boolean isConnected() {return connected;} 
    public Manager manager() {return new Manager();} 
} 

這些類當然是假貨的子集,但它們排除了其他假貨類。有沒有合適的術語來描述它們?

+0

你的問題太模糊...反正你的第二堂課是非法的,因爲如果班級是私人的,你不能作爲公衆成員返回 – Edmondo1984 2012-07-20 08:00:55

+0

你在問兩個相互無關的問題,一個問一個設計問題,另一個問話問的第二個問題。你應該每個帖子只問一個問題。 – MvG 2012-07-20 11:52:22

回答

0

您會有效地將新功能添加到您的「假」(更好地稱爲「模擬」)類,這會使您的代碼有點誤導。堅持使用相同的界面,然後看看Mockito,如果你還沒有。

相關問題