Comments (5)
I am not sure. I think Tieske will need to comment on this as he added the _TEST system I believe.
from busted.
looping in @Tieske
from busted.
will have a look at it, currently travelling and no test system available. Might be a couple of days.
@karlp redesign your modules anyway, as module() has been deprecated in 5.2
from busted.
Just wrote a quick test setup. For a module exporting is done the other way around, always export, delete when not testing;
The module newmod.lua
:
module ("newmod", package.seeall) local privatef = function() return 1 end local list = { "hello", "world" } publicf = function() return privatef() + 1 end -- export private elements for test purposes -- in module case revert export: -- 1) always create test table test = { _privatef = privatef, _list = list, } -- 2) now remove it when not being tested if not _TEST then test = nil end
and the testcode;
describe("Testing a module defined using a module keyword", function() setup(function() require("newmod") end) it("tests the public function", function() assert.is.equal(newmod.publicf(), 2) end) it("tests the private function", function() assert.is.equal(newmod.test._privatef(), 1) end) end)
But be aware; it's intended to test private functions, but due to its nature it works on everything that is passed by reference (functions, tables, etc. but not on numbers or strings, which are passed by value)
HTH
from busted.
Will have a play with that tomorrow. I can't find anything clear about 5.1 to 5.2 migration, so I can only copy the vast amounts of 5.1 code out there that uses module(), sorry.
from busted.
Related Issues (20)
- Can't install dependency of busted via luarocks HOT 1
- Can't install dependency 'mediator_lua' of busted via luarocks HOT 2
- Lua
- bad release HOT 1
- Can't install/run on Windows 10 HOT 3
- Garbled characters in output HOT 4
- Wrong `LUAROCKS_SYSCONFDIR` in `busted.bat` HOT 1
- `package.moonpath` is never updated which breaks Moonscript module requirements HOT 1
- [feature request] Support clean up function for it() HOT 4
- Async documented but not functional HOT 1
- [question] how to pass argument to function when trying to catch errors HOT 2
- [help needed] fails to execute as a standalone file HOT 2
- the comand line argument with space will be split when use --lua
- Fails to encode results to json due to non-string error objects being raised
- [Feature Request] Could we introduce a new context for ordered tests? HOT 11
- Make it easier to run a global before_each before all before_each blocks or a global after_each after all after_each blocks HOT 1
- Make it easier to run a global before_each before all before_each blocks or a global after_each after all after_each blocks HOT 1
- Fennel loader? HOT 2
- Bug? Loader applied to wrong language
- Teee HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from busted.