golang / vscode-go

Go extension for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=golang.Go
Other
3.87k stars 746 forks source link

code lens: support running and debugging tests that use http://labix.org/gocheck #111

Open ramya-rao-a opened 4 years ago

ramya-rao-a commented 4 years ago

Tests that use the check package can be run as part of the whole package or file but not individually in VS Code.

This feature request is to support the below for individual tests using the check package in VS Code

For more, including hints on how to go about this, please see https://github.com/microsoft/vscode-go/issues/1921 & https://github.com/microsoft/vscode-go/pull/3222

stamblerre commented 4 years ago

I would be curious to know how many people want this change before we implement it. Please upvote https://github.com/golang/vscode-go/issues/111#issue-626808407 if you would use this feature.

stamblerre commented 4 years ago

Similarly, there have been mentions on Slack of the code lenses not working with Testify-based tests.

ramya-rao-a commented 4 years ago

Code lens support for testify based tests was added in https://github.com/microsoft/vscode-go/pull/1707. So, if they are not working anymore, that is a regression.

tgturner commented 4 years ago

I worked on an initial implementation. It was closed during the migration to the golang org. It's no longer in sync with master but might be a good starting off point for someone.

https://github.com/microsoft/vscode-go/pull/3222

I'll try to get back to it and open the PR here because its a feature that I would really like to have, but if someone gets to it first I will not be offended.

hyangah commented 4 years ago

@tgturner Thanks. Do you have any thought on my comment in https://github.com/golang/vscode-go/issues/228#issuecomment-644846514?

tylfin commented 4 years ago

I opened a duplicate issue here: https://github.com/golang/vscode-go/issues/274

Like I mentioned in that issue, it would be nice to either:

That way VS Code Go isn't discouraging developers from building new or different test suites packages due to lack of tooling.

If that sounds like overkill, I'm happy to extend the existing code to include check.v1

EDIT: I created a small fork that should solve this for folks running into issues YMMV https://github.com/tylfin/vscode-go-check

jcalabro commented 3 years ago

Hi all! I've opened a PR here for review (it simply extends the existing code to support check.v1, not any other test suites at this time). Thanks!

https://github.com/golang/vscode-go/pull/1494

hyangah commented 3 years ago

We hoped that we stop supporting third-party test libraries and move away from the GoDocumentSymbolProvider. The underlying tool for GoDocumentSymbolProvider is in maintenance mode and this go extension uses gopls document symbol providers. The third-party test code lens support is one of few remaining cases that are blocking deprecation.

Have you considered a separate, specialized extension for users who want to use all those test frameworks? If necessary, the extension can invoke the document symbol provider command and can create a code lens that invokes go extension's commands to run/debug tests too.

firelizzard18 commented 6 days ago

With test discovery moving to gopls, this will need to be handled there.