2
我使用Android Studio 2.0,並且我是Android的新手。 在我的源代碼中,Xml.newPullParser()很好用 但是,當我在junit test(測試目錄)中輸入它時,我發現它返回null。爲什麼會發生?我對它感到困惑。爲什麼Xml.newPullParser()在Android測試中返回null?
第二個問題,有兩個目錄(test和androidTest),它們之間有什麼不同?我應該使用哪一個?
package com.ecust.ecusthelper.util.network.httpurlconnection;
import android.util.Xml;
import org.junit.Assert;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
public class XmlTest {
@Test
public void testXmlNonNull() {
XmlPullParser pull = Xml.newPullParser();
if (pull == null)
Assert.fail("Why here is null");
}
}
我的build.gradle
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.ecust.ecusthelper"
minSdkVersion 15
targetSdkVersion 23
versionCode 2
versionName '1.1'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
testCompile 'junit:junit:4.12'
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
compile 'com.android.support:appcompat-v7:23.2.1'
....
}
你可以sh是'build.gradle'的'junit'配置嗎?你確定你指定了一個正確的'testInstrumentationRunner'嗎? – x0r
ohh,我不知道如何使用'testInstrumentationRunner'。這是我的'build.gradle',我使用'unitTests.returnDefaultValues = true' – chenjj2048