Skip to content
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

Running test suite doesn't work #89

Open
fredrikaverpil opened this issue Apr 15, 2024 · 0 comments
Open

Running test suite doesn't work #89

fredrikaverpil opened this issue Apr 15, 2024 · 0 comments

Comments

@fredrikaverpil
Copy link

fredrikaverpil commented Apr 15, 2024

The readme states that you can run the full test suite with require('neotest').run.run(vim.fn.getcwd()) if your project root (with go.mod/go.sum in its root) is the current working directory.

Reproduce

  1. Clone down this repo: https://github.com/fredrikaverpil/go-playground
  2. cd lwgt
  3. Start neovim: nvim.
  4. Open test summary: :lua require("neotest").summary.open()
  5. Run :lua require('neotest').run.run(vim.fn.getcwd())
  6. See how no tests are being run. If checking the :Neotest output-panel, it says no Go files in /Users/fredrik/code/public/go-playground/lgwt.

For some other projects, I get a different error in the output, like e.g. package github.com/uuu/xxx/yyy: build constraints exclude all Go files in /Users/fredrik/code/work/private/xxx/yyy.

Workaround

If you add a dummy test file in the root of the project, the tests look like they all execute (in e.g. the test summary), but they actually don't execute.

// dummy test file: t_test.go

package main

import "testing"

func TestDummy(*testing.T) {
}

If you also pass recursive_run = true as option to neotest-go, tests will execute.

require("neotest").setup({
  adapters = {
    require("neotest-go")({
      recursive_run = true
    })
  }
})
folke pushed a commit to LazyVim/LazyVim that referenced this issue Jun 23, 2024
## What is this PR for?

This PR switches
[nvim-neotest/neotest-go](https://github.com/nvim-neotest/neotest-go)
for
[fredrikaverpil/neotest-golang](https://github.com/fredrikaverpil/neotest-golang).

## Does this PR fix an existing issue?

Neotest-go comes with some problems which are mitigated in
neotest-golang. A full description/background is available in the
project README, but here are some highlights:

### Neotest-go issues mitigated in neotest-golang

- Test Output in JSON, making it difficult to read:
[neotest-go#52](nvim-neotest/neotest-go#52)
- "Run nearest" runs all tests:
[neotest-go#83](nvim-neotest/neotest-go#83)
- Running test suite doesn't work:
[neotest-go#89](nvim-neotest/neotest-go#89)
- Diagnostics for table tests on the line of failure:
[neotest-go#75](nvim-neotest/neotest-go#75)
- Support for Nested Subtests:
[neotest-go#74](nvim-neotest/neotest-go#74)
- DAP support:
[neotest-go#12](nvim-neotest/neotest-go#12)

### Features

- Supports all [Neotest
usage](https://github.com/nvim-neotest/neotest#usage).
- Integrates with [nvim-dap-go](https://github.com/leoluz/nvim-dap-go)
for debugging of tests using delve.
- Inline diagnostics.
- Works great with
[andythigpen/nvim-coverage](https://github.com/andythigpen/nvim-coverage)
for displaying coverage in the sign column (per-Go package, or per-test
basis).
- Monorepo support (detect, run and debug tests in sub-projects).
- Supports table tests (relies on treesitter AST detection).
- Supports nested test functions.

## Notes

- I'm the author of
[fredrikaverpil/neotest-golang](https://github.com/fredrikaverpil/neotest-golang).


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant