cucumber-jvm: Improve the missing backends exception

🤔 What’s the problem you’re trying to solve?

When users encounter this exception:

io.cucumber.core.exception.CucumberException: No backends were found. Please make sure you have a backend module on your CLASSPATH.

	at io.cucumber.core.runtime.BackendServiceLoader.get(BackendServiceLoader.java:39)
	at io.cucumber.core.runtime.BackendServiceLoader.get(BackendServiceLoader.java:33)
	at io.cucumber.core.runtime.SingletonRunnerSupplier.creat

It is not clear at all what they’ve done wrong.

✨ What’s your proposed solution?

Improve the exception. Explain that Cucumber consists of

  • something to run Cucumber (cucumber-core)
  • something to declare step defintions (the backend)
  • optionally a DI container.
  • optionally integration with JUnit4/5/TestNG/ect

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 19 (9 by maintainers)

Most upvoted comments

So imagine you’re using Cucumber. You’re also new to software development, testing and Cucumber. Then you get this error message. It’s not very helpful.

Can you change it in such a way that becomes helpful?

I imagine that this explanation might have a few parts. One to explain that cucumber has multiple modules, one to explain what those modules are, one to explain the problem and finally how to solve it.

edit: It’s night here. You can think about it for a while.