假如你有一款安卓應用,其包含一系列測試類,其中一部分是 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
}
}
}
以上代碼會將共享代碼目錄 添加 到 test
和 androidTest
源集(source sets)中。現在,這些源集中不僅包括默認的 Java 源碼,還包括共享代碼。
哈哈!現在 test
和 androidTest
就可以共享實用程序代碼了。
OneAPM Mobile Insight 以真實用戶體驗為度量標準進行 Crash 分析,監控網絡請求及網絡錯誤,提升用戶留存。訪問 OneAPM 官方網站感受更多應用性能優化體驗,想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。
本文轉自 OneAPM 官方博客