-
Notifications
You must be signed in to change notification settings - Fork 43
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
"Run nearest" runs all tests #83
Comments
This was referenced Feb 24, 2024
Merged
For anyone having the same issue, as a workaround I wrote a function that leverages Treesitter to get the nearest function name, then I add local function get_nearest_function_name()
local ts_utils = require("nvim-treesitter.ts_utils")
local node = ts_utils.get_node_at_cursor()
while node do
if node:type() == "function_declaration" then
return ts_utils.get_node_text(node:child(1))[1]
end
node = node:parent()
end
end
vim.keymap.set({"n", "<leader>tf",
function()
local name = get_nearest_function_name()
if not name then
return
end
require("neotest").run.run({
extra_args = { "-run", name ) },
})
end,
desc = "Test nearest function",
}) |
1 task
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.
This was referenced Jul 17, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When I "run nearest test" (
require("neotest").run.run()
) when positioning my cursor on the test function, I can see how neotest-go executes all tests.Inspecting the
go test
command generated by neotest-goI inspected the
go test
command produced by printing thecommand
variable value ininit.lua
:...which gave me this command:
Note that I'm adding
coverprofile
myself here.I would've expected something different, such as having added the
-run
flag togo test
along with a regex matching the test name to the command. For example:go test -run ^Test_Level_1$
to the command.Inspecting the
tests
map returned bymarshal_gotest_output.tests
I then inspected the value of the
tests
returned frommarshal_gotest_output
which again shows how a bunch of tests in other files are being executed.The text was updated successfully, but these errors were encountered: