Details
Assignee
UnassignedUnassignedReporter
Rodrigo QuesadaRodrigo QuesadaPriority
Critical
Details
Details
Assignee
Unassigned
UnassignedReporter
Rodrigo Quesada
Rodrigo QuesadaPriority

Created October 23, 2016 at 10:20 PM
Updated October 23, 2016 at 10:20 PM
Hi JBehave team,
I'm currently worried that many of the examples might be broken, but still report as successful when executed from the command line using maven commands such as "mvn -Psonatype -s settings.xml clean install -Djbehave.version=4.0.5 -Pexamples".
I noticed the next line was commented a long time ago here: https://github.com/jbehave/jbehave-core/blob/master/examples/core/src/main/java/org/jbehave/examples/core/CoreStory.java#L98
//.usePendingStepStrategy(new FailingUponPendingStep())
So that allows many tests to pass even when some of their corresponding steps are not being matched at all (e.g. when some meta parameters are not being inherited, and then some of the parameters are parsed as plain strings). Maybe it would be more useful/safer if that line wasn't commented and each test that needs to have pending steps could override that behavior? In any case, the thing is that it seems many of examples provided on the repo just don't really work.
Also, something else I noticed (I mean, besides the instructions provided in the site/repo being kind of insufficient in order to be able to compile the project successfully without having some headaches) is that the tests configured for the project are kind of unreliable because they randomly fail when trying to build it (i.e. when running _mvn -s settings.xml clean install). So this makes it a bit difficult to contribute back to this great project.
PS: Currently I have the core examples in my repo set-up with Gradle: https://github.com/RodrigoQuesadaDev/jbehave-core-examples So you just need to run ./gradlew clean test in order to verify what I just stated (if you want to run it trough IntelliJ, though, you need to make sure the processResources task runs before the tests OR move the *.story files to the resources directory manually so that they are picked-up by the framework during execution).
Thanks,
Rodrigo