-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First-class parallelism #1760
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
🤔 What's the problem you're trying to solve?
I have a suite of tests which take a long time to execute, but have no common resources that would prevent them from running in parallel. While I can use parallel_tests to speed up execution, one irritating limitation is that each process will have its own formatted output. This means I cannot easily see information like total executed/failed steps, the re-run list of failed scenarios, or have a singular HTML report generated. Further, since it randomly assigns features/scenarios to spawned processes, its possible for one or more processes to be stuck with a large number of slow-to-run features, which can lead to sub-optimal test run times.
✨ What's your proposed solution?
A work-stealing parallelism mode, which schedules at scenario-level, and can provide a cohesive output from a single process. This should address the issue of having multiple independent outputs, and sub-optimal splits.
⛏ Have you considered any alternatives or workarounds?
I have had success with
parallel_tests
and a custom tool I wrote to merge.ndjson
data files, which allowed me to continue using the standard HTML reporter. However, this requires some conditional config in mycucumber.yml
to ensure.ndjson
is emitted when running in parallel, and to suppress all other outputs. I have not yet found a way to resolve the issue of sub-optimal splits.📚 Any additional context?
There are a few outstanding questions I'm not sure of, which would limit the possibility of this feature:
aruba
? Could these steps assert something likenot parallel?
, or would this not be acceptable?While I may be misreading the documentation, it appears that the Java implementation may also support some rudimentary parallel test execution.
The text was updated successfully, but these errors were encountered: