Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/silentbicycle/lunatest
xUnit-style + randomized unit testing framework for Lua (and C projects using Lua, etc.)
https://github.com/silentbicycle/lunatest
Last synced: 3 days ago
JSON representation
xUnit-style + randomized unit testing framework for Lua (and C projects using Lua, etc.)
- Host: GitHub
- URL: https://github.com/silentbicycle/lunatest
- Owner: silentbicycle
- Created: 2010-03-06T20:57:13.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2022-05-07T00:16:08.000Z (over 2 years ago)
- Last Synced: 2024-08-02T06:20:03.650Z (3 months ago)
- Language: Lua
- Homepage:
- Size: 86.9 KB
- Stars: 83
- Watchers: 11
- Forks: 23
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-love2d - Lunatest - xUnit-style randomized unit testing framework. (Testing)
README
Lunatest is an xUnit-style, Lua-based unit testing framework with
additional support for randomized testing (a la QuickCheck).It's largely upwardly compatible from [lunit][], with the following changes:
* Where lunit uses assert(), lunatest uses assert_true(). lunatest does
not change any functions from the standard library.
* If running tests in only one file, no module declaration is necessary.
* For multiple suites, register them with lunatest.suite("file").
This uses require the file suite to return a table containing the suite
related functions as well as the test functions. (Note: non local tests
functions found outside the returned table go to the main suite.)
* It doesn't have any dependencies except Lua, though if present, it
will use lhf's [lrandom][] module (for consistent pseudorandom numbers
across operating systems) and [luasocket][]'s gettime() for timestamps).The main (or only) test file should end in lunatest.run(), and can be
run as a normal lua script. The following command-line arguments are
supported:* -v: verbose mode, which lists every test's name, result, and runtime.
* -s / --suite *pattern*: Only run suite(s) with names matching the pattern.
* -t / --test *pattern*: Only run test(s) with names matching the pattern.[lunit]: http://www.mroth.net/lunit/
[lrandom]: http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lrandom
[luasocket]: http://luaforge.net/projects/luasocket/For further examples, see the API documentation and included test suite.
Like Lua itself, Lunatest is distributed under the MIT license.