Skip to content

Group test explorer test by workspace in multi-root workspace #20345

Closed

Description

I am using the multi-root workspace in vs code to open multiple python packages, each with their own tests folder containing the tests for that package.
The test explorer displays all tests, but does not group them by the workspace they come from.
For a simple multi-root workspace with just two packages, this looks like the following screenshot:
image

Since all folders are named in the same way, its cumbersome to determine which entry is from which workspace.

I also searched through the extension's settings, but didn't find anyting related.

I think the best solution would be to group the tests simililarly as in the repositories in the source control view. What do you think?

Activity

  1. eleanorjboyd commented on Dec 13, 2022

    @eleanorjboyd
    Member

    Claudius Kienle (@claudius-kienle), thank you for submitting this issue! I just had a quick clarifying question before I dive into the desired behavior here. In order to get your test explorer to look like this, do you first discover tests in the first workspace and then the second workspace? Ie does it take two steps for you to see this list in your test explorer?

  2. claudius-kienle commented on Dec 13, 2022

    @claudius-kienle
    Author

    Yes exactly, I execute Python: Configure Tests for each of the workspaces, which creates configs like the following in each workspace's settings.json:

    {
       "python.testing.unittestArgs": [
            "-v",
            "-s",
            "./tests",
            "-p",
            "test*.py"
        ],
        "python.testing.pytestEnabled": false,
        "python.testing.unittestEnabled": true
    }
  3. eleanorjboyd commented on Dec 14, 2022

    @eleanorjboyd
    Member

    Claudius Kienle (@claudius-kienle), great thank you for the quick reply!

  4. eleanorjboyd commented on Dec 14, 2022

    @eleanorjboyd
    Member

    Brett Cannon (@brettcannon) and Luciana Abud (@luabud) what is the desired workflow do you think in this case? Since it requires a step to discover tests in each workspace should a multi-root workspace have the workspace listed on discovering tests for a single workspace or just for discovering more than one workspace? Additionally should the workspace be displayed the same way as a folder is (so above tests in this given example with tests nested under)? The final implementation question to consider is the 3 buttons, run, run in debug mode, and go to file and what these buttons should do given it is in reference to a workspace instead of a file. I think it can behave pretty much the same given workspaces still have paths with which we could direct to or run tests in. Thanks and let me know if you have opinions on the matter.

  5. brettcannon commented on Dec 14, 2022

    @brettcannon
    Member

    Ideally a multi-root workspace would have one more level of hierarchy per workspace at the top of the tree. Otherwise I would consider it all the same as if it was a single-root workspace.