Skip to content

[beheave] Add support to watch the remote code execution of cucumber/behave tests #578

@laeubi

Description

@laeubi

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions