如何测试询问者验证
How to test inquirer validation
我已经在
上看到问答了
我想测试我的验证是否正确。例如,如果我有:
const answer = await inquirer.prompt({
name: 'answer',
message: 'are you sure?'
type: 'input',
validate: async (input) => {
if (input !== 'y' || input !== 'n') {
return 'Incorrect asnwer';
}
return true;
}
});
我想 运行 一个我可以 运行 的单元测试,并验证如果我提供 blah
,验证将正确验证。我如何为此编写测试?
我会将验证移至单独的函数,并单独对其进行测试。测试和代码都会看起来更清晰:
const confirmAnswerValidator = async (input) => {
if (input !== 'y' || input !== 'n') {
return 'Incorrect asnwer';
}
return true;
};
const answer = await inquirer.prompt({
name: 'answer',
message: 'are you sure?'
type: 'input',
validate: confirmAnswerValidator
});
然后在测试
describe('Confirm answer validator', () => {
it('Raises an error on "blah"', async () => {
const result = await confirmAnswerValidator('blah');
expect(result).toBe('Incorrect asnwer');
});
});
我已经在
我想测试我的验证是否正确。例如,如果我有:
const answer = await inquirer.prompt({
name: 'answer',
message: 'are you sure?'
type: 'input',
validate: async (input) => {
if (input !== 'y' || input !== 'n') {
return 'Incorrect asnwer';
}
return true;
}
});
我想 运行 一个我可以 运行 的单元测试,并验证如果我提供 blah
,验证将正确验证。我如何为此编写测试?
我会将验证移至单独的函数,并单独对其进行测试。测试和代码都会看起来更清晰:
const confirmAnswerValidator = async (input) => {
if (input !== 'y' || input !== 'n') {
return 'Incorrect asnwer';
}
return true;
};
const answer = await inquirer.prompt({
name: 'answer',
message: 'are you sure?'
type: 'input',
validate: confirmAnswerValidator
});
然后在测试
describe('Confirm answer validator', () => {
it('Raises an error on "blah"', async () => {
const result = await confirmAnswerValidator('blah');
expect(result).toBe('Incorrect asnwer');
});
});