Lua Test Adapter (https://marketplace.visualstudio.com/items?itemName=lej.vscode-lua-test-adapter) This is a LuaUnit test adapter for Test Explorer UI (https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer)
- Detect LuaUnit tests
- Run LuaUnit tests
- Debugging
- Depends on Lua Debug (https://marketplace.visualstudio.com/items?itemName=actboy168.lua-debug)
- Lua Debug has a known issue with Lua 5.4 (actboy168/lua-debug#103)
- Automatic reloading of test definitions
- Autorun
An example similar to the one described below in Getting Started can be found here:
- Create an empty folder
example
- Download LuaUnit (
example/luaunit.lua
)
- Create a test file (
example/test.lua
) with the below content
luaunit = require('luaunit')
function testPass()
luaunit.assertEquals({1, 2, 3}, {1, 2, 3})
end
function testFail()
luaunit.assertEquals({1, 2, 3}, {1, 2, 4})
end
os.exit(luaunit.LuaUnit.run())
- If the Lua executable is not available via
lua
create.vscode/settings.json
. The current workspace folder can be referred to as${workspaceFolder}
, e.g."${workspaceFolder}/lua5.1.exe"
{
"luaTestAdapter.luaExe": "C:/Program Files/Lua/lua-5.1.5_Win64_bin/lua5.1.exe",
}
- Install Test Explorer UI
- Install Lua Test Adapter
- For debugging capability install Lua Debug
- Run (or debug) the tests via the Test Explorer UI
Property | Description |
---|---|
luaTestAdapter.luaExe |
Path to Lua executable. The current workspace folder can be referred to using ${workspaceFolder} . Defaults to lua |
luaTestAdapter.testGlob |
Glob used to find test files. Defaults to **/[tT]est*.{lua} |
luaTestAdapter.testRegex |
Regex used to find tests. Defaults to /^\s*function\s+(?:[a-zA-Z][a-zA-Z0-9]*:)?(?<test>[tT]est[a-zA-Z0-9]*)\(\)(?:.*)$/ |
luaTestAdapter.testEncoding |
Test file encoding. Defaults to utf8 |
luaTestAdapter.decorationRegex |
Regex used to find line number and failure message. Defaults to /\.lua:(?<line>[1-9][0-9]*):(?<message>.*)stack traceback:/ |