Skip to content
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

New test explorer implementation #3170

Open
4 of 11 tasks
vinistock opened this issue Feb 11, 2025 · 0 comments
Open
4 of 11 tasks

New test explorer implementation #3170

vinistock opened this issue Feb 11, 2025 · 0 comments

Comments

@vinistock
Copy link
Member

vinistock commented Feb 11, 2025

Finalizing this issue should also resolve #2639, #3090, #2167, #1528, #1334 and #1155, if they are not resolved otherwise.

What

Revamp our simplistic implementation of the test explorer to allow full discovery of tests, taking add-on contributions into consideration and allowing for multiple tests to be executed within the same command.

How

The idea is to lean on VS Code's ability to lazily resolve test discovery, so that extremely large projects don't lag and don't overwhelm the user with an insane number of tests.

To discover test directories and the test files defined inside of them, we will use a purely client side implementation using the VS Code APIs. When the user expands a specific test file, that will then trigger a custom request to the server, which will gather all add-on contributions and discover every test group and example inside of that file.

When running a group of tests selected by the user, another custom request will be fired to the server, so that add-ons have the opportunity to compose the command that will be executed to run all tests at once. Regardless of test framework, the add-ons need to have the ability to register an LSP JSON formatter that will return the test results in a standardized way, so that processing results for any test framework in the client side is always the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant