2013-03-26 55 views
2

我有一種方法,其中包含在發佈模式和調試模式之間變化的邏輯。它並不是先進的,但我仍然想要一個單元測試,因爲我的應用程序將用於更大的圖片,並且我想將用戶重定向到其他網站(如果它未在發佈模式下使用)。始終在Release模式下運行單元測試

現在對我的問題,有什麼辦法強制單元測試運行在發佈模式?我不想每次運行我的單元測試時手動更改構建配置。

回答

1

而不是在發佈模式下運行你的單元測試,你可以創建一個測試縫,以便控制你想要引發的行爲。你可能可以這樣:

public class Foo { 

    public int Bar() { 
     if (IsDebugModeEnabled()) { 
     return 1; 
     } else { 
     return 0; 
     } 
    } 

    public boolean IsDebugModeEnabled() { 
     #if DEBUG 
     return true; 
     #else 
     return false; 
     #endif 
    } 
} 

這樣你有兩個選項來測試你的邏輯路徑。您可以創建子類Foo並覆蓋IsDebugModeEnabled或使用部分模擬來直接設置返回值。

+0

對不起,沒有迴應,離開了。這聽起來像一個整潔的解決方案和一個更像單元測試的方法!謝謝 – Simon 2013-04-04 07:52:54