Hello,
Here is a brief on why you are facing delay in spec execution:
1. Currently, Gauge scans all the dependencies. Depending on the size of these dependencies, execution could be slow(as you have seen).
2. Why does Gauge scan all the dependencies in compile time?
- Gauge searches for any step implementations i.e. methods with @Step or any other execution hooks annotated to a method in all the dependencies.
- These steps could be used in specs.
3. What are our approaches now?
We are investigating on if Gauge should scan only the source files in project and not all the dependencies. We think that its an anti-pattern to use any of the step implementations in dependencies.
4. What are the workarounds?
If there is a step that contains its implementation in one of the dependencies, it should be invoked by step implementation present.
@Step("Say <hello> to <gauge>")
public void greeting(String what, String who) {
// call the methods inside dependency
}
Let us know what are your opinions on this? Your feedback could be of great help.
Thank you
Gauge Team