我想創建Robolectric測試來補充我現有的儀器測試。我發現a gradle plugin,意圖支持與Robolectric測試單獨的模塊。然而,當我嘗試使用這個插件,我得到以下錯誤:Android Studio中的Robolectric和Instrumentation測試
Class not found: "bbct.android.test.activity.test.FilterCardsTest"
這裏是我的build.gradle文件:
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "bbct.android.common"
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
lite {
applicationId "bbct.android"
versionCode 15
versionName "0.6.2"
}
premium {
applicationId "bbct.android.premium"
versionCode 14
versionName "0.6.2"
}
}
def Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
println 'signing.properties found but some entries are missing'
android.buildTypes.release.signingConfig = null
}
} else {
println 'signing.properties not found'
android.buildTypes.release.signingConfig = null
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.1.0'
compile 'com.android.support:support-v4:19.1.0'
compile 'com.google.android.gms:play-services:4.2.42'
liteCompile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
androidTestCompile ('com.squareup:fest-android:1.0.8') {
exclude group: 'com.android.support'
}
}
而且FilterCardsTest
:
package bbct.android.test.activity.test;
import android.app.Activity;
import bbct.android.common.activity.FragmentTestActivity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import static org.junit.Assert.assertTrue;
@Config(manifest = "./src/main/AndroidManifest.xml")
@RunWith(RobolectricTestRunner.class)
public class FilterCardsTest {
@Test
public void testSomething() throws Exception {
Activity activity = Robolectric.buildActivity(FragmentTestActivity.class).create().get();
assertTrue(activity != null);
}
}
是的,我得到的異常,當我嘗試運行Android Studio中的Robolectric測試。 –