Java Android Studio中的机器人分子和仪器测试
我想创建机器人分子测试来补充我现有的仪器测试。我发现它声称支持一个单独的带有机器人分子测试的模块。但是,当我尝试使用此插件时,出现以下错误: 未找到类:“bbct.android.test.activity.test.FilterCardsTest” 这是我的build.gradle文件:Java Android Studio中的机器人分子和仪器测试,java,android,robolectric,Java,Android,Robolectric,我想创建机器人分子测试来补充我现有的仪器测试。我发现它声称支持一个单独的带有机器人分子测试的模块。但是,当我尝试使用此插件时,出现以下错误: 未找到类:“bbct.android.test.activity.test.FilterCardsTest” 这是我的build.gradle文件: apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultC
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中进行机器人分子测试时,我期待它的到来 可能有不同的原因。首先,在android studio中启动测试时,不会编译测试类。第二个Android studio不知道在哪里搜索已编译的类 对于第一个问题,只需编译测试类。对于第二个问题,您可以修改测试模块iml文件,其中必须根据需要更改测试输出的路径 下面是一个完整的示例,它将自动进行iml修改。 这里详细介绍了如何强制AndroidStudio编译测试类
是的,当我尝试在Android Studio中运行Robolectric测试时,会出现异常。