7

既然Google已經添加了experimental unit test support,那麼在單元測試和儀器測試中如何共享資源呢?在Android中通過單元測試和儀器測試共享資源

例如,假設我有一個TestUtils.java類,我希望在我的單元測試和儀器測試中都可以訪問該類。如果我把它放在我的src/test/java文件夾中,它可以通過我的單元測試進行訪問。如果我把它放在我的src/androidTest/java文件夾中,它可以通過我的儀器測試進行訪問。我如何讓它們都可以訪問?

我現在看到的唯一解決方案是把它放在src/debug/java,但有沒有更好的方法?

+0

你總是可以告訴Gradle有多個目錄來源。不過,我不知道是否有更清晰的答案。 – CommonsWare 2015-03-24 22:10:53

+2

@CommonsWare好主意!添加'android.sourceSets.androidTest.java.srcDirs = ['src/androidTest/java','src/test/java']'反之亦然 – skoush 2015-03-24 23:01:04

+0

本文涵蓋了確切的主題:http://blog.danlew .net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/ – 2017-08-26 11:18:41

回答

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

儘管此代碼可能會回答問題,提供有關* why和/或* how的其他上下文*這個代碼回答這個問題提高了它的長期價值。 – 2016-03-26 07:27:11

+1

關於在模塊中執行此操作有什麼用? – karate 2017-01-15 14:13:15