mock anwsers for inquirer prompt questions
- mock all inqurier instances which already loaded in current process
- mock
require('inquirer')
and return mocked inquirer instance - work well with
npm link
which may causerequire('inqurier')
load different inquirers
Notice: mock-inquirer only mock inquirer.prompt
method, any advanced usage may not work
npm install mock-inquirer --save
Just call mockInquirer
and pass anwsers at anywhere.
const mockInquirer = require('mock-inquirer')
const inquirer = require('inquirer')
const co = require('co')
// start mock
co(function * () {
let reset = mockInquirer([{
hello: 'world' // will auto fill 'world'
}, {
// if anwsers is empty, mockInquirer will fill with default value
}])
// prompt 2 questions
let anwsers1 = yield inquirer.prompt([{
type: 'input',
message: 'I say hello, you say:',
name: 'hello'
}])
let anwsers2 = yield inquirer.prompt([{
type: 'confirm',
message: 'mock inquirer is awesome:',
name: 'like',
default: true
}])
// print anwsers:
// { hello: 'world' }
// { like: true }
console.log(anwsers1)
console.log(anwsers2)
// reset mock
reset()
}).catch(err => {
console.error(err)
})
anwsersList
, {Array} anwsers list for every mockedinquirer.prompt
The item of anwsersList
is a key-value anwsers object which key is name
of questions field.
If anwsersList
is empty, then the anwsers will be filled with default value in inquirer.prompt
questions.
MIT