Ich benutze Android Studio 1.5.1. Mein build.gradle sieht aus wie untenFehler: Paket org.hamcrest existiert nicht Android Studio 1.5.1
allprojects {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
apply plugin: 'com.android.application'
dependencies {
// Unit testing dependencies
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'junit:junit:4.12'
}
ich einige JUnit-Testfälle für meine Anwendung schreibe wie unten
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
public void testSomething throws Exception {
...
assertThat(result, is(true));
}
Aber wenn ich die Tests laufen lasse, es zeigt, dass
error: package org.hamcrest does not exist
error: cannot find symbol assertThat(result, is(true));
Aber ich kann auf die Definition von AssertThat gehen, org.hamcrest etc aus dem Studio, indem Sie zur Definition als Studio dekompiliert die Gläser. Auch ich kann das heruntergeladene Paket in .Gradle/Caches sehen
Kann jemand vorschlagen, was ich hier falsch mache? Normalerweise funktionieren Junit-Testfälle mit assertFalse, assertTrue usw., nur Hamcrest Matching gibt Fehler.
Dank, nur diese Lösung gearbeitet. Müssen nur Abhängigkeiten hinzufügen { Dateien kompilieren ('libs/hamcrest-all-1.3.jar') testCompile 'junit: junit: 4.12' } – Deepu
Ja. Ich vermute, dass Sie SourceSet in Ihrer Gradle-Datei ja modifiziert haben? – Aggressor
Ja! Wie ist es verwandt? – Deepu