3、以上配置要配置在“启动项目中”build.gradle文件中,方可自动关联上启动项目
· Android Studio本来启动项目中的测试代码分为两个目录
· 如果是通过更改“sourceSets”的话。那就要得重新配置注明相应的文件夹(这是Eclipse转AS导出的配置)
sourceSets{ sourceSets{ main{ java.srcDirs = ['src'] } androidTest{ java.srcDirs = ['androidTest/src'] } test{ java.srcDirs = ['test/src'] } } |
最后就把相应的文件放入具体目录
androidTest “Android的Junit”
test “java的单元测试”
代码
junit public class ExampleUnitTest { @Test public void addition_isCorrect() throws Exception { System.out.println("123"); } } Android junit public class AndroidRuntimeCodeTest extends AndroidTestCase { public void testHello() throws Exception { System.out.println("testHello"); } } |
结论
1、注意事项
以前Eclipse做单元测试得往AndroidManifest.xml标明
<manifest > <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.viewtest" /> </manifest> <application> <uses-library android:name="android.test.runner" /> </application> |
Android studio就要在build.gradle
导入相应的包
在
android{
defaultConfig {
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
}
2、还有一点:就是“测试使用的需要的包”遇到与“启动项目的包”冲突时,使用
引用:https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/user-guide#TOC-Resolving-conflicts-between-main-and-test-APK
configurations.all {
resolutionStrategy {
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
forcedModules = ['com.android.support:support-annotations:23.0.1']
}
}