JBehave is designed to allow textual stories to be written before the implementation, i.e. to let the specification of the behaviour drive the development. For this reason, with steps that do not match any method in the Steps class, which are called pending steps, it does not fail by default. By marking a step as pending, it's simply telling the scenario writer that it's not yet implemented and correspondingly it will not execute any steps that following in the same scenario.
In some cases, thought, it may be useful to make the scenarios fail when steps are pending. The behaviour is controlled by configuring the PendingErrorStrategy via the StoryConfiguration
StoryConfiguration storyConfiguration = new MostUsefulStoryConfiguration(); storyConfiguration.usePendingErrorStrategy(PendingErrorStrategy.FAILING);