web-dev-qa-db-fra.com

Le concombre ne peut pas être résolu en un type

J'ai créé une classe RunTest pour exécuter mes scénarios de test à l'aide de Cucumber avec JUnit. Pour exécuter les tests avant, je dois importer dans mon projet la classe RunWith (@RunWith) et passer en paramètre le Cucumber.class. Ensuite, le paramètre RunWith de la classe reconnaît davantage le paramètre qui lui est transmis, non. L'Eclipse affiche le message:

Plusieurs marqueurs sur cette ligne - La classe ne peut pas être résolue en un type. - Le concombre ne peut pas être résolu en un type. - L'annotation @RunWith doit définir la valeur de l'attribut

J'utilise Maven pour organiser mes fichiers JARS. Voici les écrans de code et d'erreur.

enter image description hereenter image description here

Mon POM.XML

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>


    <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-Java -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-Java</artifactId>
        <version>1.2.5</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.5</version>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-jvm -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm</artifactId>
        <version>1.2.5</version>
        <type>pom</type>
    </dependency>

</dependencies>

Mes bibliothèques enter image description here

2
Kakashi - Sensei

Importez le cucumber.api.junit.Cucumber classe. Il semble que vous utilisiez l'IDE Eclipse, vous pouvez donc importer les classes à l'aide de Ctrl+Shift+o (alphabet 'o' et non zéro) raccourci.

(Ctrl+Shift+O est "Organiser les importations" et ajoutera toutes les importations manquantes, supprimera toutes celles qui ne sont pas utilisées et commandera toutes vos importations). La commande se trouve également sous Source> Organiser les importations.

5
nikhil Ingole

J'ai également rencontré le même problème dans l'idée IntelliJ, lorsque je vérifie les bibliothèques importées, c'était comme ci-dessous la capture d'écran.

screenshot

J'ai donc supprimé la balise scope de mon importation dans le fichier pom.

Plus tôt

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.5</version>
    <scope>test</scope>
</dependency>

Fix

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.5</version>
</dependency>

Maintenant ça fonctionne bien

3

Pour moi, le même problème a été résolu en supprimant .m2/repository, redémarrez IDEA avec les dépendances comme suit:

${cucumber.version} = 4.8.0

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
    </dependency>

J'espère que cela fonctionne aussi pour vous.

1
AlexPes

Étape 1: la souris survole une erreur, le concombre de classe ne peut pas être résolu en un type. Donc, écrivez l'instruction d'importation manuellement et l'erreur disparaîtra.

import cucumber.api.junit.Cucumber;

Étape 2: supprimez la portée du fichier pom.xml pour la dépendance cucumber-JUnit.

1
user11620140

Faites simplement Ctrl + Shift + T et tapez RunWith pour vérifier si le pot est correctement importé dans votre espace de travail après la résolution des dépendances maven.

1
Rocky

Même si vous pouvez avoir concombre-junit dans pom.xml

Confirmez que sous Dépendances Maven vous devez avoir concombre-junit

enter image description here

J'avais 1.2.6 mais ce n'était pas sous les dépendances Maven, j'ai obtenu ceci d'un des commentaires dans la réponse.

  <dependency>
  <groupId>info.cukes</groupId>
  <artifactId>cucumber-junit</artifactId>
   <version>1.2.5</version>
   <scope>test</scope>
   </dependency>
0
Gaurav khurana

J'ai rencontré le même problème. J'utilise un projet Maven dans Eclipse. Mon problème semblait être la version JRE que j'utilisais. Mes projets Maven avaient tous un ancien J2SE-1.5 que je suis passé à 1.8 dans Eclipse et le problème a disparu. J'espère que cela t'aides!

0
Amanda Fernandes

J'ai supprimé mon fichier POM.xml de la dépendance ci-dessous:

<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.5</version>
        <scope>test</scope>
    </dependency>

Et j'ai ajouté la dépendance:

<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>3.0.2</version>
        <scope>test</scope>
    </dependency>

Fait que j'ai pu importer.

enter image description here

0
Kakashi - Sensei

Veuillez ajouter cette dépendance et supprimer l'ancienne. ça a marché pour moi.

<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>3.0.2</version>
    <scope>test</scope>
</dependency>
0
SAPNA THAKUR

Comme mentionné ci-dessus, l'ajout de la dépendance ci-dessous a résolu mon problème:

<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>3.0.2</version>
        <scope>test</scope>
    </dependency>
0
Vineesh

J'étais également confronté au même problème.Je viens de supprimer la partie scope de la dépendance concombre-junit et cela a bien fonctionné pour moi.

0
user12749089

Téléchargé toutes les dernières dépendances de jar maven depuis "mvnrepository". Cela a fonctionné pour moi.

0