我对Android gradle构建很新。 我构建和应用程序,它工作得很好。现在我想在其中添加单元测试和仪器测试,并在命令行上执行它们。
我必须测试文件:
MainActivityTest.java
< ==此次使用的仪器测试应在设备上执行。CustomerFragmentTest.java
< ==这个使用的junit测试只能在JVM上执行。现在从Project Directory
的命令行调用了
gradlew test --continue
它执行了所有测试(包括JVM测试和设备测试),而我希望只运行JVM测试。
所以:
- 如何仅在JVM上运行junit测试用例(忽略测试测试用例)?
- 醇>
当我拨打
gradlew connectedCheck
时,我收到了执行失败的消息:在根项目'Android5Camera'中找不到“任务'connectedCheck'”
如何执行检测测试 (在设备上)使用命令行?
感谢您提供任何帮助和建议。
这是我的app.gradle配置,以备你需要:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.huynhle.android5camera"
minSdkVersion 16
targetSdkVersion 22
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
java.srcDirs = ['src/main/java']
}
main.setRoot('src/main')
androidTest.setRoot('src/test')
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.android.support.test:runner:0.3'
androidTestCompile 'com.android.support.test:rules:0.3'
}
答案 0 :(得分:0)
我可以假设,您已将两个类文件放在同一目录 src / test 中。此目录仅适用于单元测试,并且测试运行器不区分Intsrumentation或简单JUnit之间的测试文件。这就是gradlew test --continue
命令启动这两个类的原因。
Android Instrumentation Tests类应该位于 src / androidTest 目录中,并且应该是InstrumentationTestCase或AndroidTestCase的继承人(直接或否定),然后您可以使用gradlew connectedCheck
启动检测测试。