web-dev-qa-db-fra.com

Junit in Visual Studio Code

J'ai toutes sortes de difficultés à exécuter Junit dans le code Visual Studio. J'ai eu deux problèmes principaux qui ne coexistent pas dans chaque tous les projets que j'ai créés.

Problème 1: Après avoir créé et exécuté a Java projet, si je tente d'ajouter une classe de test JUnit, le programme ne peut pas trouver la classe/test. Je devrais voir un Option d'exécution ou de déboguer mon test, mais aucune option de cette telle apparaît. De plus, lorsque je clique sur l'onglet Explorateur de test, je ne vois pas la classe de test répertorié, mais c'est dans le dossier du projet.

Problème 2 : J'ai eu un certain succès avec l'importation d'un projet développé d'abord dans Eclipse dans le code VS. Ce n'est pas vraiment idéal. En faisant cela, le problème que j'ai, c'est que le code VS a des problèmes avec les importations Junit. Parfois, il ne reconnaît pas l'annotation @Test et tentera de résoudre les problèmes d'importation en me présentant à l'importation dans le programme, (Exemple: lors de l'utilisation de la méthode d'affirmation, je devrais écrire: org.junit.Assert.assertEquals("stringName", v1.getName);

Quelqu'un a-t-il eu des problèmes similaires ou quelqu'un a-t-il une idée de savoir comment exécuter un Java sans Maven ou un autre chef de projet? Je suis sûr qu'il y a un moyen de faire ce travail, mais J'ai envie de me manquer l'évidence.

8
Sally

Faire Java tests unitaires dans le code Visual Studio, je vous suggère d'avoir en place les exigences suivantes

Une fois que vous avez cela et votre nouvellement créé Java projet, vous devez connaître toujours un code de production séparé du code de test. Pour cela, créez simplement un dossier test au même endroit que src.

Une fois que vous avez eu ce dossier, créez un SomethingTest.Java fichier avec quelque chose comme

import static org.junit.Assert.fail;

import org.junit.Test;

public class NgramTest {
    
    @Test 
    void test() {
        fail("Not yet implemented");
    }

}

Run Test JUnit

Lorsque vous cliquez sur "Exécuter tester", vous devez obtenir un message "non encore implémenté".

JUnit result after running


Si vous ne pouvez pas courir cela et obtenir un résultat peut provenir d'au moins deux raisons différentes

1.

L'importation org.junit ne peut pas être résolu

Pour le réparer, si le projet utilise Maven pour gérer les dépendances, assurez-vous que vous avez installé Maven ( Comment installer Maven dans Windows 10? ). Ensuite, assurez-vous de courir mvn install ou alors mvn package, comme mentionné ici .

2.

Quelqu'unestest.java n'est pas sur le match de classe du projet Nom_Paper, seules les erreurs de syntaxe sont rapportées.

Pour résoudre ce problème, ajoutez ce dossier à .ClassPath présent dans la racine du projet

<classpathentry kind="src" output="target/test-classes" path="test">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="test" value="true"/>
    </attributes>
</classpathentry>

A obtenu cette erreur après la mise à jour de Java Test Runner version 0.24.2 de la version 0.24 J'utilise la version 0.64.1 de "Prise en charge de la langue pour Java par Chapeau rouge "et" débogueur de Java ". Après la mise à jour, je ne pouvais voir aucun de mes tests junit dans le" test "-Tab et ne pouviez pas les démarrer à l'intérieur de l'IDE. Rétrogradation de 0,24 et 0,64.1 résolue le problème.

0
Sam