aok
module
Extensible JavaScript test suite1.9)
API (aok
instance
aok() → Syntaxes
Properties
- id: identifier or name for the test (defaults to a positive integer)
- test: result or callback (called in the instance's scope)
- pass: message or callback (default: "ok")
- fail: message or callback (default: "FAIL")
- handler: defaults to
aok.prototype.handler
- express: defaults to
aok.prototype.express
- explain: defaults to
aok.prototype.explain
- run: defaults to
aok.prototype.run
- cull: defaults to
aok.prototype.cull
- init: defaults to
aok.prototype.init
Verbose syntax
aok(object)
;
Anonymous syntax
aok(test)
for non-object tests
;;;
Pair syntax
aok(id, test)
1.8+
;;
Idle syntax
aok()
without arguments creates an idle instance that can manually be run later.
Calling var o = ;otest = true;o;
Console methods
native console
where available
uses aok.log(message)
aok.info(message)
aok.warn(message)
aok.error(message)
aok.assert(expression, message)
1.6+aok.trace()
aok.clear()
1.7+
Utilities
aok.can(fn)
- Get a new function that uses
try
/catch
to test if fn can run. - ⇒ Function (⇒ boolean)
aok.pass(stack, fn, scope?, limit?)
- Iterate stack to count passes until limit. (example)
- ⇒ number
aok.fail(stack, fn, scope?, limit?)
- Iterate stack to count fails until limit. (example)
- ⇒ number
aok.perform(trials, fn)
- Test how many milliseconds it takes fn to run trials times.
- ⇒ number
aok.race(trials, rivals)
- Test how many milliseconds it takes each rival to run trials times.
- ⇒ Array
aok.result(object, key|fn)
- Get
object[key]
or its method's result if callable. - ⇒ *
aok.explain(item?)
- Represent item (or self) as a string.
- ⇒ string
grunt aok
task for running tests via grunt
aok 1.5+ includes a simple gruntrequire
Configure files togrunt;
'aok'
Load task grunt;
'aok'
tasks
Run $ grunt aok$ grunt aok:test$ grunt aok:extras
Resources
- See a universal GruntFile and test dir for a solid setup
- See test dirs in ryanve packages for examples
Developers
/src
or report issues
Contribute edits to $ npm install # install dependencies $ grunt jshint:sub # lint sub dirs $ grunt aok # run tests
Builds have +timestamp in the version number and are made later via grunt
.