8
votes

CUCOMBER JVM CUCOMBEREXCEPTION: Aucune fonctionnalité trouvée à []

Dans mon concombre -jvm, Maven, mon fichier Junit, j'ai mon fichier TestRunner comme xxx

J'ai mon fichier de fonctionnalité dans le répertoire mentionné ci-dessus.

Si je l'exécute, je reçois l'exception suivante: xxx

si je supprimais l'option "Fonctions" dans le Testrunner, il essaie de rechercher Fichiers de fonctionnalités dans le même répertoire que mon testtrunner.java xxx

et si je mettez les fichiers de fonctionnalités là-bas, cela fonctionne.

Ma question est pourquoi mon fichier de fonctionnalité n'est-il pas ramassé de mon emplacement précédent, que je pensais être la structure de fichier par défaut pour la configuration du concombre - Maven.

Comment puis-je le faire prendre à partir de là? Aide appréciée.


0 commentaires

9 Réponses :


18
votes

Où sont exactement votre coureur de test et vos fichiers de fonctionnalités? J'ai la configuration suivante qui fonctionne parfaitement: xxx

Les conventions Maven / Cuke auront les tests exécutés dans le répertoire Tests / Java et les fichiers de fonctionnalité trouvés dans le répertoire Tester / Resources. Mon coureur de test est fondamentalement identique à celui que le vôtre mais avec moins d'options: xxx

espère que cela aide si vous n'avez pas déjà trouvé de réponse.


1 commentaires

Changer de ".Ceutrs" à ".Feature" corrigé pour moi; Merci



5
votes

J'ai une configuration similaire à la vôtre (n'utilisant pas les conventions Maven / Concombre). Dans mes options, je ne spécifie pas le chemin de root, mais dans le dossier source du projet où les fonctionnalités sont organisées. Cela a du sens, car sinon les tests ne seraient exécutés que de votre machine.

Dans votre cas, je pense que cela devrait être: xxx


0 commentaires

0
votes

Si vous fournissez le chemin complet du fichier de fonctionnalité, c'est-à-dire

"C: /USERS/SARTHAK.DYANAND/DOCUKAUTOMATION/LEBARAWEBAUTOMATIONTEST1/SRC/MAIN /RESOURCE" Comme dans votre requête, essayez à nouveau en remplaçant le caractère '/' '/' \\ '(Double back slash ) comme ci-dessous.

"C: \\ Utilisateurs \\ Sarthak.dayanand \\ Documents \\ WebrefreshTest \\ Cukeautomation \\ Lebarawebautomationtest1 \\ Src \ Main \\ Ressources \\ Abc.feature"


0 commentaires

3
votes

Il suffit d'ajouter des fonctionnalités = {"CLASSPATH: fonctionnalités / fonctionnalités"}, et la fonctionnalité doit sous Test / Ressources / Caractéristiques / Feature.Feature Strong>.

    @CucumberOptions(
        format = {"pretty", "html:target/html"},
        features = {"classpath:features/feature.feature"},
        snippets = SnippetType.CAMELCASE


0 commentaires

-4
votes

En mettant le fichier de fonctionnalité sous src / test / java où le fichier et le fichier de marche ou de marche En le mettant sous SRC / Main / Java Le problème sera résolu.


1 commentaires

Ne mettez pas de code de test sous SRC / Main . Ce dossier contient généralement du code qui va à la production et que vous ne voulez pas que le code de test soit à la production.



0
votes

Ceci est un repo git qui utilise la dernière version de concombre: exemple

clone ce repo et exécutez-le dans votre machine locale. Le @given est défini et il devrait passer. Le @then et @Qu.Quend doit être indiqué comme non défini.

Voici comment la sortie doit-elle regarder: sortie pour la fonction de ventre

Utilisez la structure mentionnée: src / test / java / io / concombre / {définitions d'étape java et exécutez des fichiers de test concombre ici} src / test / ressources / io / concombre / {fichiers de fonctionnalité ici}

Vous pouvez exécuter la version grade en utilisant ./ gradlew propre construction et le test de concombre à l'aide de ./ brapperw nettoyer test --FO

Si cela fonctionne, utilisez le même format dans votre projet.


0 commentaires

0
votes

changer simplement .f mange à .f consommer le problème a été résolu pour moi.

Assurez-vous également que le chemin d'accès à la fonctionnalité est à la pointe de la cucumbtion selon votre dossier de fonctionnalité

Certains du didacticiel en ligne ont mentionné. F ATTENTION qui apporte ce problème

Changer donc le cas résoudra ce problème

 Entrez la description de l'image ici


0 commentaires

3
votes
//Removing the space between "**classpath**" and "**:com/**" helped.

@RunWith(Cucumber.class)
@CucumberOptions(
        features = {"classpath:com/tk/feature/"}, //NOTE: NO SPACE
        glue = {"classpath: com.tk.cucumber"}, 
        plugin = {
                "pretty", 
                "html:build/reports/cucumber" 
                ,"json:build/reports/cucumber-tests/test.json"}
        )
public class RunAPITests {}

0 commentaires

0
votes

Il y a une autre instance dans laquelle une erreur "Fonction non trouvée" se produit. Je pose la solution sous cette réponse car il n'y a pas de question similaire.

J'ai reçu cette erreur lors de la tentative d'exécution du fichier de coureur pour la première fois après la mise en place de projet de concombre à Maven. La solution que j'ai trouvée était la suivante: accédez au dossier dans lequel le fichier "Feature" est présent dans Windows Explorer. Vérifiez la taille du fichier de fonctionnalité que vous essayez d'exécuter. Si la taille est '0' KB, elle affichera l'erreur "Fonction non trouvée". Faites des modifications au fichier jusqu'à ce qu'une valeur supérieure à zéro soit affichée. Courir à nouveau après avoir apporté des changements.


0 commentaires