-
Notifications
You must be signed in to change notification settings - Fork 31
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
Truncate namespace hierarchy #521
Comments
I've marked this as an idea at this point, rather than an accepted feature. We'll need to work out some of the implications before settling on specific rules for combining and we'll need some implementation design. The following are just notes for consideration...
|
BTW, I'm currently focusing on back-end issues for the GUI, like getting .NET Core tests to run. Non-critical UI issues will probably not get much of my attention for the coming 1.3 release. Of course, once details are worked out, a PR would be welcome. |
I understand it's not top priority right now, I just wanted this to be out there. Here are some comments on the implementation:
Of course, this is just my opinion. I'm happy with whatever way this heads, this is just a small detail that I saw potential for improvement in. |
Good point @immeraufdemhund - vscode's approach is a bit more complicated because it highlights the individual folders when hovering them with mouse cursor. I feel like we should come up with a simpler solution here because there seem to be few people supporting this project and there's already a lot on the plate. Perhaps somehow joining the properties windows would be easier. |
@immeraufdemhund Worth considering... we could label differently depending on whether the user expanded or not. |
@paulens12 Considering all the possibilities, the best way to proceed is probably to do something small and simple first, then consider whether to do more. For example...
The above is just one possible order of implementation, of course. The first is trivial. The second, however, already introduces complexity in terms of the update of nodes as the tests complete. Since tests complete bottom up, a setup fixture failure would post an error message but the higher level namespaces would override it with a "child error" message unless we prevented that from happening. Of course, we would want to prevent that and we could, but it's just a sample of how baked-in the one-to-one assumption is at this point! That's less so in the experimental GUI, which is my eventual target for a major release, so some of this may need to wait until that point. The GUI portion of the standard GUI is very much still like the V2 GUI. @paulens12 Are you of a mind to possibly take on the simplest step? |
I'll see if I can do it, but can't promise anything as I've been quite busy lately and that doesn't seem to be going away soon (working on my bachelor's thesis etc.) - I always find time to read comments, even if it's only on my phone, but not so much "me and my computer" time outside work these days. |
The question is if it's worth the effort to implement this the proper way for the "old" GUI or if it's better to just wait for the experimental GUI to mature. Right now, the old one seems more stable and finished (i.e. no "not implemented" menu items or similar) and I don't know the projected timeframe for a stable new GUI release. But if it's, let's say, less than half a year, maybe it's worth focusing on the new GUI and limiting old GUI updates to bug fixes only? |
Personally, I'm a big fan of small steps. "Doing it right" sometimes means adding lots of features at once. But the small steps have to meet a few criteria...
So, if you have time, I'd say just combine runs of namespaces that do not contain any setup fixtures. That's probably the most common situation for typical users anyway. Also, we would want a setting for the tree that says something like "Combine namespaces where possible." I think the experimental GUI is 6 to 12 months away as far as becoming the main GUI. |
BTW... focusing on bugs only in the standard GUI is a step I expect to take, but not right away. I'm very close to getting .NET Core tests to run from the GUI in combination with .NET Framework tests (in separate processes, of course) and that will make us (I think) the only runner that is able to do so. I'd like to get that out in the standard GUI before switching focus. |
Currently testcentric.exe shows the namespace of every test as a tree.
It often creates problems with long ("deep") namespaces and I'd like to propose a UI enhancement to make it easier to deal with those deep namespace structures.
I've created a short reproduction:
As you can see, everything above
D
could be merged into a single node, which would reduce the oversized left margin and push the actual tests (the very thing we're interested in) towards the left edge so that more of their names are visible in a smaller window size. Generally, if a namespace has only one child item, they should be merged in the UI. For example,C
has only one child itemD
soC
andD
should be merged.B
andA
also have only one child item each so all of them should be merged into a single nodeA.B.C.D
.The text was updated successfully, but these errors were encountered: