J'ai récemment installé Android Studio Arctic Fox V2020.3.1 Beta 2 pour pouvoir utiliser jetpack Compose
dans notre projet depuis que je n'ai pas pu le faire aussi 4.2.1 Parce que Compose
jette une erreur de construction étrange qui a été corrigée sur le renard arctique .
Voici donc le problème, après avoir chargé le projet, la mise à jour des SDKS/Bibliothèques que j'ai pu construire et exécuter aucun problème, cependant, lorsque je suis allé exécuter les tests de l'unité, j'ai remarqué que toutes les classes de test n'étaient plus reconnues par l'IDE. Après une enquête, j'ai découvert que les versions plus récentes de commee ne reconnaissent plus les configurations junit .
Comme vous pouvez le constater dans les captures d'écran ci-dessous, il n'ya aucun moyen d'exécuter ces tests car je le ferais normalement:
Et celui-ci vient de Run/Debug Configurations
Où les tests JUnit
sont sous la catégorie inconnue:
Enfin, j'ai créé une configuration de gradle pour tester mais elle dit simplement sur le côté gauche:
Les événements de test n'ont pas été reçus
Et jette une erreur sur le côté droit:
L'exécution a échoué pour la tâche 'Caractéristiques: Signup: TestDevdebugunittest'. Aucun test constaté pour indiqué comprend: com.projecttsaturn.android.Features: Signup.SignUPViewModelest
Je me demande si quelqu'un est sorti de cette question et a été capable de résoudre?
Toute aide est appréciée!
Mise à jour 01:
J'ai donc décidé de tout renvoyer et de commencer à partir de zéro. Cette fois, je n'ai mis à jour que quelques points:
com.Android.tools.build:gradle:7.0.0-beta02
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32
com.google.firebase:firebase-crashlytics-gradle:2.6.1
androidx.test:core/runner/rules:1.3.0
Maintenant, le problème est que tous les tests unitaires échouent lorsque je l'exécute via la gradle. Je soupçonne que ça ne gère pas le @Before
Fonction annotée avant d'exécuter les fonctions de tests réels. Ou je ne régle pas correctement le test des grades (capture d'écran ci-dessous)?
Même problème ici, j'ai remplacé certaines dépendances telles que décrites ici https://developer.android.com/training/testing/junit-runner#ato-gradle et cela a fonctionné pour moi!
Pour utiliser Junit 5 in Android Studio Arctic Fox, modifiez votre application/Build.Gradle comme ceci:
Android {
// .... other stuff
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
unitTests.all {
useJUnitPlatform() // <--- this is the important part
}
}
}
ajoutez ensuite la version à Junit comme ceci:
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2'
à l'intérieur du bloc de dépendances.
Retirez ensuite les autres versions de Junit (par exemple, Junit 4) des dépendances. Ensuite, assurez-vous de référencer la bonne version de vos tests. Voici un exemple pour @Test Annotations et Assergequals:
//import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
//import org.junit.Test;
class UtilsTest5 {
@Test
public void add() {
assertEquals(10, 10);
}
}