A composite GitHub action for running busted tests with Neovim.
Supports stable releases, nightly releases and specifying versions.
To run tests with busted, you need
- A rockspec, to specify test dependencies.
It should have
nluain itstest_dependencieslist. See also: Rockspec format - A
.bustedfile that tellsbustedhow to run your tests with Neovim as the Lua interpreter. - A
specdirectory containing test files, their names ending in_spec.lua.
---
name: Run tests
on:
pull_request: ~
push:
branches:
- main
jobs:
build:
name: Run tests
runs-on: ubuntu-latest
strategy:
matrix:
neovim_version: ['nightly', 'stable']
steps:
- uses: actions/checkout@v4
- name: Run tests
uses: nvim-neorocks/nvim-busted-action@v1
with:
nvim_version: ${{ matrix.neovim_version }}With the above setup, you can run tests locally,
if you have luarocks or busted installed1.
You can then run:
luarocks test --local
# or
bustedOr if you want to run a single test file:
luarocks test spec/path_to_file.lua --local
# or
busted spec/path_to_file.luaIf you see a module 'busted.runner' not found error you need to update your LUA_PATH:
eval $(luarocks path --no-bin --lua-version 5.1)
busted --lua nlua spec/mytest_spec.luaVersion of Neovim to install. Valid values are stable, nightly or version tag such
as v0.9.2.
- Default:
stable
Important
This value must exactly match to a tag name when installing the specific version.
Version of LuaRocks2 to install.
- Default:
3.11.1
A bash script to run before running the tests.
For example, you can use this to install additional luarocks packages
that can't be installed automatically using luarocks test.
nvim-lua/nvim-lua-plugin-template- Using Neovim as Lua interpreter with Luarocks
- Testing Neovim plugins with Busted
- Test your Neovim plugins with luarocks & busted
- Debugging Lua in Neovim