specshell v0.1.0
specshell
Write JavaScript specs for shell commands
Installation
For use only within your tests:
npm install --save-dev specshellMore advanced usage may require:
npm install --save specshellFeatures
- Use any test framework (or none)
- Use JavaScript or TypeScript
Quick start: testing shell commands
Write shell tests using your preferred test framework. Use
specshell to run shell commands.
const specshell = require('specshell');Create a new shell.
const shell = new specshell.Shell();Send it a command and examine the results. Another process is
involved so you must await the results of running any shell command.
(Your test framework should support this; most do, including Jest,
Mocha and Ava).
const assert = require('assert').strict;
async function test() {
const { out, err } = await shell.run('echo hello, shell');
assert.equal(out.toString(), 'hello, shell');
assert.equal(err.toString(), '');
}
test();Shell.run returns exitCode or signal for each command run. If
the shell itself dies it throws specshell.ShellError.
API
Shell
constructor(shellPath, spawnOptions)
Constructs to use a shell found at shellPath (default '/bin/bash')
passing spawnOptions. Currently these are the same as for
child_process.spawn, but option stdio will be
ignored if you pass it.
run(script)
Runs script inside shell: passes every line to the shell and a newline at the end.
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago