Skip to content

Test Runner Viewlet with an Extension API to plug into [Enhancement Request] #9505

@cloudRoutine

Description

@cloudRoutine

In response to Erich Gamma's tweet @Krzysztof-Cieslak

A test runner viewlet/sidebar with a pluggable API would be a great addition to vscode.

The viewlet should include visual indications of

  • the progress of completed tests out of the set of tests being run
  • visual indicators or icons showing basic tests states at the least
    not run | success | failure | ignored/skipped

The test runner should be able to provide a set of sorting categories and repopulate the viewlet based on the users selection

A query box with the ability to filter the tests based on the names shown in the runner's list at a minimum, with the ability for the underlying runner to populate a set of query filters.

Instead of the VS style of collapsing categories

I think the vscode style used in the debugger viewlet is much nicer 😄

A button could be used to select which test runner you want to use out of the test runner extensions that have been installed

But a dropdown menu would work too

A side button to open a menu could enable the active test runner to populate it with any additional commands specific to its functionality

Some other functionality points -

  • When an individual test is selected the result could be rendered in the output panel
  • An icon/button to run all tests
  • The ability to highlight/select a set of tests and only run those tests
  • A basic set of run options, which individual runners might be able to extend
  • Tests outputs can contain links to specific points in source code
  • Debugging specific tests (would be awesome, but understandable if this is too difficult for an initial implementation)
  • Associate test runner extensions with specific languages?
  • Test playlists (would be nice, but not especially important)
  • Ability to specify a task/trigger that will repopulate the viewlet's list of tests
  • Dropdown menu that the test runner can population with platform/environment/runtime configurations to use during test execution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    *duplicateIssue identified as a duplicate of another issue(s)feature-requestRequest for new features or functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions