所以我终于设法让我的android工作室运行与robolectric集成的JUnit测试,这样我就可以在设备或模拟器上运行http调用和其他事情。遵循这里创造奇迹的结构:https://github.com/robolectric/deckard-gradle
现在,我设法在AndroidStudio上运行得很好,但是我想设置一个cron以便它可以自动运行,并且当通过gradle通过命令行执行测试时我得到" java.lang.UnsatisfiedLinkError :java.library.path"中没有pjsua。请注意,我们的代码使用我们单独编译的pjsip lib代码,并将.so文件放在jniLibs文件夹中。我有另一个jUnit测试非常简单,无论是通过gradle命令行还是AndroidStudio,都可以正常工作。
我从http://tools.android.com/tech-docs/unit-testing-support跟随的gradle命令是:
1)./gradlew测试 - 继续
或
2)./gradlew test -Dtest.single = Test.java
这是我们的gradle文件对应用层的外观:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.foo.test"
minSdkVersion 14
targetSdkVersion 21
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
moduleName "libpjsua"
}
}
sourceSets {
main {
jni.srcDirs = []
}
}
signingConfigs {
// hidden
}
buildTypes {
release {
signingConfig signingConfigs.release
}
debug {
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/android-logging-log4j-1.0.3.jar')
compile files('libs/libphonenumber-6.2.jar')
compile files('libs/log4j-1.2.17.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/ostermillerutils_1_07_00.jar')
// dependencies to do automation testing
testCompile 'junit:junit:4.12'
testCompile 'org.hamcrest:hamcrest-core:1.1'
testCompile 'org.hamcrest:hamcrest-library:1.1'
testCompile 'org.hamcrest:hamcrest-integration:1.1'
testCompile('org.robolectric:robolectric:2.4') {
exclude module: 'classworlds'
exclude module: 'commons-logging'
exclude module: 'httpclient'
exclude module: 'maven-artifact'
exclude module: 'maven-artifact-manager'
exclude module: 'maven-error-diagnostics'
exclude module: 'maven-model'
exclude module: 'maven-project'
exclude module: 'maven-settings'
exclude module: 'plexus-container-default'
exclude module: 'plexus-interpolation'
exclude module: 'plexus-utils'
exclude module: 'wagon-file'
exclude module: 'wagon-http-lightweight'
exclude module: 'wagon-provider-api'
}
}
有没有人有任何想法?非常感谢,现在已经有好几天了。