2016-11-24 60 views
1

我在android中使用Mokitio運行單元測試用例。避免使用mokito在單元測試期間運行代碼塊

  • 我所試圖做的事:有代碼在活動
  • 我儘量不運行單元測試 案件過程中運行的代碼塊和應用程序中運行的onCreate事件 塊經常。
  • 是否有可能做這樣的使用mokito東西,因爲mokito同步的活動的生命週期

回答

0

這裏的妥善解決辦法是改變你的設計了一下。你不應該認爲代碼塊,但在功能

防止某些x行代碼在特定環境中運行但不在某些其他環境中的方法是使用適當的OO方法。

含義:首先創建一個描述功能的這些代碼行的我們正在談論的接口:

public interface DoTheFoo { 
    public void foo(Bar bar); 
} 

然後創建一個「生產」的實現,接口的DoTheFooImpl(其爲一個副作用:你也許可以編寫適當的單元測試)。

最後:你的類需要該功能中,使用依賴注入收購對象提供DoTheFoo接口。在您的生產環境中,這將是一個DoTheFooImpl對象;但是對於你的單元測試,你只需要爲它創建一個模擬 - 配置爲不對foo()進行任何調用。

當然,這聽起來像是一點工作;但重點是:目前,您的設計有些不足。而不是試圖去骯髒的黑客/變通辦法,考慮看看你的設計,以確定一個更優雅的方式來解決你的問題。

相關問題