|
|
- return {
- "nvim-neotest/neotest",
- dependencies = {
- "nvim-lua/plenary.nvim",
- "nvim-treesitter/nvim-treesitter",
- "antoinemadec/FixCursorHold.nvim",
- "nvim-neotest/nvim-nio",
- -- Adapters
- "tovijaeschke/neotest-phpunit",
- "nvim-neotest/neotest-go",
- },
- config = function()
- local neotest = require("neotest")
-
- local keymap = vim.keymap
-
- keymap.set("n", "<leader>tr", function()
- neotest.run.run()
- end, { desc = "Run neotest on current function" })
-
- keymap.set("n", "<leader>tR", function()
- neotest.run.run_last()
- end, { desc = "Run neotest on most recent test" })
-
- keymap.set("n", "<leader>tS", function()
- neotest.run.stop()
- end, { desc = "Stop running tests" })
-
- keymap.set("n", "<leader>ta", function()
- neotest.run.attach()
- end, { desc = "Attach to the currently running test" })
-
- keymap.set("n", "<leader>to", function()
- neotest.output.open()
- end, { desc = "Open the output of the test" })
-
- keymap.set("n", "<leader>ts", function()
- neotest.summary.toggle()
- end, { desc = "Toggle neotest summary pane" })
-
- local neotest_ns = vim.api.nvim_create_namespace("neotest")
- vim.diagnostic.config({
- virtual_text = {
- format = function(diagnostic)
- local message =
- diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "")
- return message
- end,
- },
- }, neotest_ns)
-
- vim.env.PROJECT_ROOT = vim.fn.getcwd() .. "/backend/"
- vim.env.ENV_PATH = vim.fn.getcwd() .. "/backend/.env"
-
- neotest.setup({
- adapters = {
- require("neotest-phpunit")({
- root_files = { "phpunit.xml", "composer.json" },
- phpunit_cmd = { "docker", "compose", "exec", "fpm", "./vendor/bin/phpunit" },
- -- phpunit_cmd = { "docker", "compose", "exec", "app-fpm", "./vendor/bin/phpunit" },
- filter_dirs = { "vendor" },
- mapped_docker_dir = "/var/www",
- append_to_cwd = "/api",
- }),
- require("neotest-go")({
- root = function()
- return './backend'
- end,
- experimental = {
- test_table = true,
- },
- args = { "-count=1", "-timeout=60s" },
- })
- },
- })
- end,
- }
|