我希望使我的自动化测试更加灵活。我有一个 QA 团队,他们不太了解 javascript,并且可能必须为没有或很少编程技能的用户设计测试。
我有一些使用 mocha 测试框架和 spectron.js(用于使用 electrion.js 构建的应用程序)创建的脚本测试了产品的一些功能,我不想每次运行脚本时都运行每个测试。我的临时解决方案是将测试捆绑到一个“套件”中。像这样 -
function DiagnosticSuite(location, workstation, workflowName){
CreateWorkflow(location, workflowName);
SetWorkFlowToStation(location, workstation, workflowName);
DiagnosticTestFlow();
return;
}
function PowerflowSuite(imei, location, workstation, workflowName){
SetWorkFlowToStation(location, workstation, workflowName);
powerOffFlow(imei);
return;
}
我正在考虑使用Inquirer并使用基于输入的条件来运行上述测试之一。像这样 -
inquirer.prompt([
{
type: 'list',
name: 'Which workflow do you want to run?',
choices: ['Power Off', 'Diagnostic']
}
]).then((answers) => {
if(answers == 'Power Off'){
PowerflowSuite(imei, location, workstation, workflowName);
}
})
当我测试 Mocha 似乎没有等待来自查询器的用户输入来运行测试时,我得到了这样的输出 -
$ npm test
> metistests@1.0.0 test C:\Users\DPerez1\Desktop\metis-automation
> mocha
? Which workflow do you want to run?: (Use arrow keys)
> Power Off
Diagnostic
0 passing (0ms)
似乎它运行并且没有看到任何测试和完成,当我选择答案时,程序就关闭了。
我想知道为什么 Mocha 会这样做,以及是否可以使用像查询器这样的库来运行我现有的 mocha 脚本。