Testowanie w Neovim – jak uruchamiam Pytest bez wychodzenia z edytora¶
W tradycyjnych IDE klikamy przycisk „Run”, wybieramy plik, czekamy aż terminal się otworzy…
W Neovimie chciałem zrobić to szybciej, spokojniej i bez myszki.
Moje narzędzia do testowania¶
neotest
– framework do uruchamiania testów z poziomu Neovimneotest-python
– plugin do obsługi Pytestnvim-nio
– wymagany przezneotest
, działa w tle- Terminal – czasem uruchamiam testy ręcznie poleceniem
Jak wygląda mój flow?¶
-
Otwieram projekt w Neovim:
bash nvim .
-
Przechodzę do pliku z testami:
:Telescope find_files
→ wybieram plik -
Uruchamiam test pod kursorem:
vim :lua require("neotest").run.run()
-
Uruchamiam wszystkie testy w pliku:
vim :lua require("neotest").run.run(vim.fn.expand("%"))
-
Patrzę na wynik testu w osobnym oknie lub w quickfix
Co jeszcze dodałem?¶
- Skróty klawiszowe (np.
nnoremap <leader>t :lua require("neotest").run.run()<CR>
) - Autowykrywanie testów w strukturze
tests/
- Podświetlanie testów, które nie przeszły
Co mi to daje?¶
- Nie muszę przełączać się między edytorem a terminalem
- Mam szybki feedback bez nadmiaru bodźców
- Mogę uruchamiać dokładnie te testy, które mnie interesują
Co jeszcze chcę dodać?¶
- Automatyczne uruchamianie testów po zapisie
- Integrację z
pytest.ini
ipytest-cov
- Zbieranie wyników testów do raportów
Neovim nie robi za mnie testów.
Ale pozwala mi testować na moich zasadach.
— Andrzej 🐢