YoloDev / YoloDev.Expecto.TestSdk

28 stars 18 forks source link

"Could not find test (no symbols found)" in Visual Studio Code #42

Closed NicoleRauch closed 2 years ago

NicoleRauch commented 3 years ago

I'm running my tests in Visual Studio Code's .NET Test Explorer. When I click on one of the tests in its tree view, I get the message "Could not find test (no symbols found)" and it does not open the test in the editor (which would be a great feature).

Is there any way to add those symbols to the dotnet test output?

(My apologies if there is an obvious answer; I'm totally new to the .NET environment...)

Alxandr commented 3 years ago

I remember looking into this at some point, and figuring out that it was not straight forward. That was years ago though, and dealing with metadata etc. in netcore was tricky, so it might be doable now. I agree that it would be a great feature, but I don't expect it to be easy to add.

NicoleRauch commented 3 years ago

Oh, I see! I was hoping that it could maybe be solved by tweaking some configuration or something...

I'm probably no help when it comes to implementing this because I know nothing about .NET (sorry!) but if you were willing to look into this, that would be super-amazing!

baronfel commented 3 years ago

This should be slightly better these days. The core issue was never really in this repo, but rather in the interaction of the Test Explorer extension and the Ionide extension.

The test explorer extension uses dotnet test to get the names of tests, which this project dutifully provides. The test explorer extension then tries to convert those names into symbols, then uses the vscode symbols APIs to have Ionide translate those symbols into actual source code locations for UI and such. There were translation issues at both of those steps that I've contributed fixes towards, so I encourage you to try this again and see if the situation has changed for the better.

Alxandr commented 2 years ago

Stale issue. If this is still an issue with newer versions of VS and this library, please open a new one.