安卓 unit 測試與 instrument 測試的程式碼共享

OneAPM官方技術部落格發表於2016-03-23

假如你有一款安卓應用,其包含一系列測試類,其中一部分是 unit 測試(位於 src/test),其餘為 instrument 測試(位於 src/androidTest)。

那麼問題來了:你有一些想在所有測試之間共享的實用程式程式碼,但是 src/test 無法使用來自 src/androidTest 的程式碼,反之亦然。雖然 也可以 把程式碼放入 src/main 中,但還是想盡量避免移動測試程式碼。那麼,到底怎樣在測試之間共享程式碼呢?

我想到的解決辦法就是,利用源集 (source sets) 定義公共程式碼。首先,將共享測試程式碼放入 src/sharedTest/java1 中,然後往 build.gradle 中新增如下程式碼:

android {  
    sourceSets {
        String sharedTestDir = 'src/sharedTest/java'
        test {
            java.srcDir sharedTestDir
        }
        androidTest {
            java.srcDir sharedTestDir
        }
    }
}

以上程式碼會將共享程式碼目錄 新增testandroidTest 源集(source sets)中。現在,這些源集中不僅包括預設的 Java 原始碼,還包括共享程式碼。

哈哈!現在 testandroidTest 就可以共享實用程式程式碼了。

OneAPM Mobile Insight 以真實使用者體驗為度量標準進行 Crash 分析,監控網路請求及網路錯誤,提升使用者留存。訪問 OneAPM 官方網站感受更多應用效能優化體驗,想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格

原文地址:http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/

本文轉自 OneAPM 官方部落格

相關文章