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.
Arguments to pass to luarocks. E.g., to run only tests which match some_test:
with:
luarocks_args: '-- --filter some_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