意式浓缩咖啡测试 - Android
问题描述:
我遇到安卓意式浓缩咖啡测试问题。我似乎无法访问“AndroidJUnit4.class”。下面的代码给我“@RunWith(AndroidJUnit4.class)”为“无法解析符号AndroidJUnit4”。意式浓缩咖啡测试 - Android
import android.test.suitebuilder.annotation.LargeTest;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class HelloWorldEspressoTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
我知道这是关系到的build.gradle文件中的设置,但我不知道什么是错。以下是我正在使用的内容的副本。
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "example.com.myapp"
minSdkVersion 22
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
compile project(':volleylibrarygitpull')
}
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:22.2.0'
}
我会很感激,如果有人能告诉我什么是错的,以便我的build.gradle文件我用咖啡测试框架。我需要支持材料设计所以后来23.0.1有cardview,recyclerview会做一个较低的API等级。
答
根据https://guides.codepath.com/android/UI-Testing-with-Espresso
你试图把测试中错误的文件夹,这就是为什么Android的工作室不承认JUnit4类。阅读上面的教程以使用androidTest
文件夹。
还请注意,您正在使用不同版本的模块相同的库:
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4'
任何人有任何想法,为什么谷歌称他们的样品测试“listGoesOverTheFold”? – nAndroid