Install the package from npm:
npm i @mochify/cli -D
which will make mochify
command available:
mochify [options] <spec...>
The Mochify CLI can pick up configuration from files or CLI flags.
File config can be provided through package.json
or in JavaScript or JSON files and is resolved using the default lookup mechanism specified by lilconfig
.
For example, you could either put configuration in a top-level mochify
key in package.json for static values or a mochify.config.js
for dynamic ones, and have them being picked up automatically.
In case an option is present in both the config file and as a CLI flag, the flag takes precedence.
Refer to the documentation of @mochify/mochify
for available configuration options.
Override the default lookup and use the file as the source of configuration.
The driver to use for running the tests.
Drivers published to the @mochify scope can be referenced using their suffix only (e.g. puppeteer
), third-party or local drivers will need to use the full package name or file path.
Drivers need to be installed separately from the Mochify CLI.
Free form options to pass to the driver in use. Pass an arbitrary number of options using --driver-option.foo 1 --driver-option.bar 2
. Refer to the documentation of the driver in use for available options.
The Mocha reporter to use. Right now, only reporters that are included with Mocha itself can be used.
The command used for bundling the given spec.
The called executable is expected to be installed by the consumer.
In case no bundle command is given and --esm is not used, spec files will be concatenated instead of bundling before running the test suite.
The command will receive the resolved value of <spec...>
.
Run a local web server and inject all files in the spec as <script type="module">
instead of bundling.
The server serves the contents of the current working directory unless --serve
is given, in which case the contents of the given location will be served instead.
Run the tests in the context of a local web server. Files in the given directory will be served as static assets.
Options to pass to the server in case --serve
or --esm
is being used.
Currently only --server-option.port
for passing the port to use is supported.
The spec
argument can be a list of files or a glob pattern that will be resolved by Mochify.
mochify ./src/foo.test.js ./src/bar.test.js
mochify ./src/*.test.js # Let the shell handle glob expansion
mochify "./src/*.test.js" # Let Mochify handle glob expansion
When given -
as the spec, Mochify expects to read a bundled test suite from stdin
:
browserify -t babelify ./src/*.test.js | mochify -