cucumber / cucumber/cucumber-eclipse
[beheave] Add support to watch the remote code execution of cucumber/behave tests
- Dominant language
- Java
- Stars
- 204
- Forks
- 151
- Avg merge
- 20h 46m
- Merged PRs (30d)
- 8
Description
In java we have a cumber-java-plugin that opens a socket connection to the host running the process to watch the test execution and getting results.
We need to investigate if `behave` (source here https://github.com/behave/behave ) support something similar in general we want the following:
1. Users should usually not need to modify their code in any way but we may inject additional commandline arguments
2. Our code should be a python script that plugs into a suitable extension point in behave, (e.g. using the report facility)
3. it must then somehow read a port as a parameter, this can be an ENV variable or whatever else might be possible (e.g. in java we can pass it directly as a plugin parameter)
4. Then it should open a socket connection and send encoded cucumber messages we can read again by java code for this we should use https://github.com/cucumber/messages/tree/main/python
5. For the protocol we want to use something similar to what https://github.com/cucumber/cucumber-eclipse/blob/main/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/MessageEndpoint.java does (so we can possibly even reuse that on the receiver side)
6. This messages should then be read and redirected to the unittest view as we do for the java backend
7. The copilote instructions need to be updated to reflect this new thing wen implementing new backends
Contributor guide
Assessment
This issue has not been assessed yet.