4

J'essaie d'ajouter loginfacebook pour mon application. Mais quand j'ai ajouté un dépôt qui est nécessaire pour ce faire. Cela a provoqué une erreur. L'AndroidJUnit4 ne peut pas résoudre maintenant.Impossible de résoudre le symbole AndroidJUnit4

ExampleInstrumentedTest.java

package com.example.user.enyatravelbataan; 

import android.content.Context; 
import android.support.test.InstrumentationRegistry; 
import android.support.test.runner.AndroidJUnit4; 

import org.junit.Test; 
import org.junit.runner.RunWith; 

import static junit.framework.Assert.assertEquals; 
import static org.junit.Assert.*; 

/** 
* Instrumentation test, which will execute on an Android device. 
* 
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a> 
*/ 
@RunWith(AndroidJUnit4.class) 
public class ExampleInstrumentedTest { 
@Test 
public void useAppContext() throws Exception { 
    // Context of the app under test. 
    Context appContext = InstrumentationRegistry.getTargetContext(); 

    assertEquals("com.example.user.enyatravelbataan", 
appContext.getPackageName()); 
} 
} 


apply plugin: 'com.android.application' 

et voici mon build: gradle (app)

android { 
compileSdkVersion 24 
buildToolsVersion "24.0.3" 
useLibrary 'org.apache.http.legacy' 


repositories { 
    mavenCentral() 
} 

defaultConfig { 
    applicationId "com.example.user.enyatravelbataan" 
    minSdkVersion 16 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile(name: 'wikitudesdk', ext: 'aar') 
// compile 'org.apache.httpcomponents:httpclient:4.5' 
// compile 'org.apache.httpcomponents:httpcore:4.4.1' 
compile files('libs/MD5Simply.jar') 
compile files('libs/GenAsync.1.2.jar') 
compile 'com.facebook.android:facebook-android-sdk:[4,5)' 
compile 'com.android.support:appcompat-v7:24.2.1' 
compile 'com.android.support:multidex:1.0.0' 
compile 'com.google.android.gms:play-services:9.8.0' 
compile 'com.google.android.gms:play-services-location:9.8.0' 
compile 'com.google.android.gms:play-services-appindexing:9.8.0' 
compile 'com.android.support:cardview-v7:24.2.1' 
compile 'com.squareup.picasso:picasso:2.5.2' 
compile 'com.android.support:design:24.2.1' 
compile 'com.android.volley:volley:1.0.0' 
compile 'com.android.support:support-v4:24.2.1' 

testCompile 'junit:junit:4.12' 
} 

repositories { 
flatDir { 
    dirs 'libs' 
} 
} 
apply plugin: 'com.google.gms.google-services' 

Répondre

4

Essayez

androidTestCompile 'com.android.support:support-annotations:23.1.0' 
androidTestCompile 'com.android.support.test:runner:0.4.1' 
androidTestCompile 'com.android.support.test:rules:0.4.1' 

Ajouter section ci-dessus suivant des liens de dépendance

configurations.all { 
    resolutionStrategy.force 'com.android.support:support-annotations:23.1.0' 
} 
+0

Je l'ai essayé mais il montre une erreur: Attention: Conflit avec dépendance 'com.android.support:support-annotations'. Les versions résolues pour l'application (25.0.0) et l'application de test (23.1.1) diffèrent. Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails. –

+0

Réponse mise à jour. http://stackoverflow.com/questions/33317555/conflict-with-dependency-com-android-supportsupport-annotations-resolved-ver – Pehlaj

+0

cela fonctionne maintenant. Je vous remercie :) –

0

En plus de la réponse ci-dessus s'il vous plaît vous assurer de suivre ces étapes strictement:

je me cogner la tête contre le mur et/ou tout autre objet que je vois devant moi afin de rendre mon unité de fonction SQLite testé. Peu importe ce que je fais, comment suivre strictement les suggestions fournies par mes nombreux sages partout sur Internet n'a pas fonctionné.

Je devais ensuite aller à préscolaire et recommencer à réaliser mon erreur stupide. J'ai appris que AndroidJUnit4 ne peut être utilisé qu'avec Instrumentation Test et JUnit doit être utilisé pour les tests locaux. Cela étant dit, le dossier doit être src/androidTest/java. J'ai eu ma classe de test directement sous le dossier androidTest, par conséquent j'ai dû faire face à cette erreur désagréable. Cependant, le moment où je l'ai déplacé sous src/androidTest/java tout est allé très clair comme "Je peux voir clairement maintenant la pluie est partie".

Take a look at this article qui dit ...

Run Instrumented Unit Tests To run your instrumented tests, follow these steps:

Be sure your project is synchronized with Gradle by clicking Sync Project in the toolbar. Run your test in one of the following ways: To run a single test, open the Project window, and then right-click a test and click Run . To test all methods in a class, right-click a class or method in the test file and click Run . To run all tests in a directory, right-click on the directory and select Run tests . The Android Plugin for Gradle compiles the instrumented test code located in the default directory (src/androidTest/java/), builds a test APK and production APK, installs both APKs on the connected device or emulator, and runs the tests. Android Studio then displays the results of the instrumented test execution in the Run window.

Par conséquent les gens, pour test instrumentation le dossier doit être (ne pas oublier le cas)

src/androidTest/java

et pour tests locaux le dossier doit être

src/test/java

Vous pouvez alors votre dossier de package (s) correspondant à votre package application

Hope, cela aide pour la communauté!