我已经创建了新的android studio项目,下面是gradle文件,除了compileSDKVersion之外我没有改变任何东西
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "retailstore.android.com.tddandroid"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.0.0'
testCompile 'junit:junit:4.12'
// import roboeletric
testCompile "org.robolectric:robolectric:3.3.2"
}
Android我写了我的第一个roboeletric测试如下:
@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {
@Test
public void clickingLogin_shouldStartLoginActivity() {
assertThat("").isEqualTo("");
}
}
我通过命令提示符运行测试,如下所示:
答案 0 :(得分:1)
请确保检查robolectric版本是否与java版本兼容:
Robolectric 24+ api版本需要JDK 1.8。
有可能在您的计算机上安装了1.7和1.8两个JDK版本,以便使用以下命令检查所有版本的安装:
$ ls -l /Library/Java/JavaVirtualMachines/
total 0
drwxr-xr-x 3 root wheel 102 Nov 4 2013 jdk1.7.0_45.jdk
drwxr-xr-x 3 root wheel 102 Jan 16 14:13 jdk1.8.0_25.jdk
正确切换JDK版本