Lors de l'exécution de mvn verify
, le message ci-dessous s'affiche:
J'ai déjà mis le log4j2.xml
sous src/test/resources
(mais pas dans src/main/resources
parce que je ne veux pas qu'il soit livré avec l'application réelle) comme suggéré ici sans succès.
Le rapport HTML est généré, le fichier journal est écrit et la construction réussie, comme indiqué ci-dessus. Je ne sais pas d'où vient l'erreur.
Selon http://logging.Apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration , l'ajout de log4j2.xml
à classpath devrait aider.
Si un fichier JSON ne peut pas être localisé, XML ConfigurationFactory essaiera localiser log4j2.xml sur le chemin de classe.
Donc, si vous obtenez toujours le message d'erreur ERROR pas avec vos sources. Cela ressemble à un problème dans le plugin maven-cucumber-reporting
. Comme décrit ici http://maven.Apache.org/guides/mini/guide-maven-classloading.html
Veuillez noter que le chargeur de classe du plugin ne contient ni les dépendances du projet actuel ni sa sortie de construction.
Si le plug-in maven ne trouve aucune configuration log4j dans son propre chemin de classe (qui n'inclut pas vos sources/ressources), des messages d'erreur s'affichent. Alors oui, la seule solution attend la publication avec le correctif https://github.com/damianszczepanik/cucumber-reporting/issues/675
Vous utilisez la dernière version 3.15.0 de Cucumber (au moment de l'écriture de ceci). Votre problème a été résolu en tant que numéro # 675 . Il y avait un commit à partir de pull demande destiné à résoudre ce problème, mais vous devrez probablement attendre la sortie de la prochaine version pour en tirer profit - ou créer une version de capture instantanée localement et voir si cela résout également le problème pour vous.
Exécuter -> Exécuter les configurations -> Classpath -> Entrées utilisateur -> Options avancées -> Ajouter des dossiers -> Ajoutez ensuite votre dossier, dans votre cas src/test/resources -> appliquez
Cela doit fonctionner maintenant: D
selon leur documentation, vous pouvez utiliser 'joranConfigurator' et charger la configuration depuis un fichier spécifié
Vous recevez cette erreur car cucumber
ou ses dépendances utilisent log4j
pour la journalisation et, en l'absence de fichier de configuration log4j
, donc log4j
imprime un tel message.
S'il n'y a pas de fichier de configuration log4j
, log4j
utilise une configuration semblable à celle présentée ci-dessous -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>
<Configuration status="warn" name="xml_configuration">
<Appenders>
<Console name="consoleLogger" target="SYSTEM_OUT">
<PatternLayout
pattern="[%level] %m%n" />
</Console>
</Appenders>
<Loggers>
<Root level="error" additivity="false">
<appender-ref ref="consoleLogger" />
</Root>
</Loggers>
</Configuration>
Ajouter la configuration ci-dessus dans /src/main/resources/log4j2.xml
aura le même résultat que de ne pas avoir de fichier log4j2.xml
.
Une autre façon d’essayer est de passer le fichier log4j2.xml
à maven directement sans le placer dans le chemin de classe du projet. Quelque chose comme ci-dessous -
set MAVEN_OPTS="-Dlog4j.configurationFile=file:///path/to/log4j2.xml"
mvn verify