mock-mocha
To mock mocha in your test when you test your mocha tests with Mocha or Jasmine*.
* in next minor version.
Usage
'use strict'; const mocks = ;const expect = expect; ;
For tips about How to test you tests you could check how-to.spec.js.
API
Properties
-
####
describes
The registered test suites, in order of the execution of test suites.
Type:
Array.<Describe>
-
####
its
The registered tests, in order of the execution of tests.
Type:
Array.<It>
-
####
hooks
The registered hooks, in order of the registration of hooks.
Type:
Array.<Before|BeforeEach|AfterEach|After>
-
####
delayed
Indicates whether Mocha's run has been used.
Type:
Boolean
-
####
storedMochaGlobals
All previously stored original Mocha global methods, like
describe
,it
, etc.Type:
Object.<String, Function>
-
####
STATUS
Possible statuses of
Describe
,It
andHook
types.Values:
OK
,SKIP
,ONLY
Type:
Object.<String, Number>
Methods
-
####
clear()
Sets all status properties (
describes
,its
,hooks
anddelayed
) to its default value. -
####
require(root, pathOfFile)
Requires the given file (based on the given root, usually
__dirname
) withrequire
, but without its default caching.Params:
root {String}
- the root of the current file, usually__dirname
pathOfFile {String}
- the relative path to the file needs to be tested, relative to the curent test spec file
Retuns:
{*}
-
####
saveMochaGlobals([globalScope])
Saves the global methods of Mocha to
storedMochaGlobals
fromGLOBAL
or the given object and returns those.Params:
globalScope {Object} - the global scope, from the methods needs to be saved. Optional, by default it's NodeJS's
GLOBAL`
Returns:
{Object.<String, Function>}
-
####
restoreMochaGlobals([globalScope], [stored])
Restores the previously saved (or given) Mocha global methods to
GLOBAL
or to the given object and returns the new scope.Params:
globalScope {Object}
- the global scope, to the methods needs to be restored. Optional, by default it's NodeJS'sGLOBAL
stored {Object}
- the object, where the original methods are stored. Optional, by default it'sstoredMochaGlobals
Returns:
{Object}
-
####
setGlobals([globalScope])
Decorates
GLOBAL
or the given object with the mock Mocha global methods.Params:
globalScope {Object}
- the global scope, which needs to be decorated with mocks. Optional, by default it's NodeJS'sGLOBAL
Returns:
{Object}
Types
-
####
Describe
- test suiteProperties:
description {String}
test {Function}
status {STATUS|Number}
Methods:
execute() : void
- executestest
, which is a sync function
-
####
It
- testProperties:
description {String}
test {Function}
status {STATUS|Number}
Methods:
execute() : Promise
- executestest
, which could be both sync and async
-
####
Before
,BeforeEach
,AfterEach
,After
- hooksProperties:
description {String}
test {Function}
status {STATUS|Number}
Methods:
execute() : Promise
- executestest
, which could be both sync and async
Note: In case of It
and all hooks, during execution the executed test/hook can call this.skip()
as it could be done in Mocha. In this case type
of the given It
/hooks will change to SKIP
.
Mock Mocha methods
The mocked mocha methods are:
Mock method | Action when called |
---|---|
describe(description, suite) |
Adds new Describe to describes with OK status. |
describe.skip(description, suite) |
Adds new Describe to describes with SKIP status. |
describe.only(description, suite) |
Adds new Describe to describes with ONLY status. |
it(description, test) |
Adds new It to its with OK status. |
it.skip(description, test) |
Adds new It to its with SKIP status. |
it.only(description, test) |
Adds new It to its with ONLY status. |
before([description,] hook) |
Adds new Before to hooks wth OK status. |
beforeEach([description,] hook) |
Adds new BeforeEach to hooks with OK status. |
afterEach([description,] hook) |
Adds new AfterEach to hooks with OK status. |
after([description,] hook) |
Adds new After to hooks with OK status. |
run() |
Sets delayed to true . |