2017-01-25 1 views
1

Ich kann dieses Problem nicht herausfinden. Ich versuche, Komponententests für mein Projekt zu schreiben, indem ich junit nutze, wie es die Android-Entwickler-Seiten empfehlen. In der Top-Level-Build-Datei meiner App habe ich eine Gradle-Datei, die wie folgt aussieht:Method testCompile nicht in Android Studio-Projekt mit Gradle Version 2.2.3 erkannt?

// Top-Level-Build-Datei, wo Sie Konfigurationsoptionen für alle Unterprojekte/Module hinzufügen können.

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
     testCompile 'junit:junit:4.12' 
     testCompile "org.mockito:mockito-core:1.9.5" 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Und bekomme ich folgende Fehlermeldung, wenn ich versuche, ein Gradle Projekt Sync zu tun:

Error:(9, 0) Could not find method testCompile() for arguments [junit:junit:4.12] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 
+3

'// HINWEIS: Legen Sie Ihre Anwendungsabhängigkeiten nicht hier ab; sie gehören // in den einzelnen Modul build.gradle Dateien '- folgen Sie den Ratschlägen und setzen Sie sie in Ihre app build.gradle Abhängigkeiten (Ich weiß, was die Entwickler-Seite sagt, aber es sollte gut auf App-Ebene, nicht Top Level Gradle funktionieren datei) –

+0

Okay, gut zu wissen, als du vermutest, ich folge der Dev-Seite. – Ajv2324

Antwort

3

Sie Abhängigkeiten für buildscript platzieren. In der Regel sollten Sie dort Abhängigkeiten platzieren, die Sie für den Build-Lebenszyklus oder die Plugin-Entwicklung benötigen.

Sie können dies tatsächlich beheben, indem dependencies Block zur allprojects Schließung bewegt, zum Beispiel:

// ... 
allprojects { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     testCompile 'junit:junit:4.12' 
     testCompile "org.mockito:mockito-core:1.9.5" 
    } 
} 

aber die Beratung von Mark Keen in den Kommentaren folgen. Es ist nicht die beste Idee, auch gemeinsame Abhängigkeiten in die Root-Datei build.gradle zu legen.

Verwandte Themen