Skip to content

"Go: Generate Unit Tests For Function" does not handle generics #3425

Closed as not planned
@haraldrudell

Description

@haraldrudell

What version of Go, VS Code & VS Code Go extension are you using?

Version Information
  • Run go version to get version of Go from the VS Code integrated terminal.

    • go version go1.22.3 darwin/arm64
  • Run gopls -v version to get version of Gopls from the VS Code integrated terminal.

  • Run code -v or code-insiders -v to get version of VS Code or VS Code Insiders.

    • 1.90.0
  • Check your installed extensions to get the version of the VS Code Go extension

    • Go v0.41.4
  • Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) > Go: Locate Configured Go Tools command.

    • Tools Configuration

Environment

GOBIN: undefined
toolsGopath:
gopath: /Users/foxyboy/go
GOROOT: /opt/homebrew/Cellar/go/1.22.3/libexec
PATH: /Users/foxyboy/bin:/Users/foxyboy/go/bin:/opt/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/foxyboy/Library/Android/sdk/platform-tools:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin

Tools

go:	/opt/homebrew/bin/go: go version go1.22.3 darwin/arm64

gopls:	/Users/foxyboy/go/bin/gopls	(version: v0.15.3 built with go: go1.22.1)
gotests:	/Users/foxyboy/go/bin/gotests	(version: v1.6.0 built with go: go1.22.0)
gomodifytags:	/Users/foxyboy/go/bin/gomodifytags	(version: v1.16.0 built with go: go1.22.0)
impl:	/Users/foxyboy/go/bin/impl	(version: v1.1.0 built with go: go1.22.0)
goplay:	/Users/foxyboy/go/bin/goplay	(version: v1.0.0 built with go: go1.22.0)
dlv:	/Users/foxyboy/go/bin/dlv	(version: v1.22.0 built with go: go1.22.0)
staticcheck:	/Users/foxyboy/go/bin/staticcheck	(version: v0.4.6 built with go: go1.22.0)

Go env

Workspace Folder (parl): /opt/sw/parl

GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/foxyboy/Library/Caches/go-build'
GOENV='/Users/foxyboy/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/foxyboy/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/foxyboy/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.22.3/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.22.3/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.22.3'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/opt/sw/parl/go.mod'
GOWORK='/opt/sw/parl/go.work'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/sq/0x1_9fyn1bv907s7ypfryt1c0000gn/T/go-build2682538169=/tmp/go-build -gno-record-gcc-switches -fno-common'

Share the Go related settings you have added/edited

Run Preferences: Open Settings (JSON) command to open your settings.json file.
Share all the settings with the go. or ["go"] or gopls prefixes.

Describe the bug

A clear and concise description of what the bug.
A clear and concise description of what you expected to happen.

Steps to reproduce the behavior:

  1. In the below program, right-click the “return” line and select “Go: Generate Unit Test For Function”
  2. BUG: toaster: “No tests generated for ….go”

EXPECTED:
a *_test.go file to be created

It has been requested by others to explain why tests are not generated, and the statement has been that gopls does not provide why it is not creating tests

Regardless, tests should be created

/*
© 2024–present Harald Rudell <[email protected]> https://haraldrudell.github.io/haraldrudell/)
ISC License
*/

package parl

type AnyCount[T any] struct{}

func (a AnyCount[T]) Count() (count int) {
	return
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions