Javascript 如果功能文件中包含故障,则跳过该功能文件

Javascript 如果功能文件中包含故障,则跳过该功能文件,javascript,selenium,protractor,cucumber,cucumberjs,Javascript,Selenium,Protractor,Cucumber,Cucumberjs,因此,如果我总共有4个测试,如果第一个测试失败,我想在第一个测试中快速失败,然后我想继续运行其他3个测试/功能文件 它现在所做的,我不喜欢的是,一旦一个测试失败,它就会失败,并且不会运行任何其他功能文件 有什么想法吗 我尝试了以下几种选择: 'fail-fast': true 但是,如果出现故障,将停止执行。如果要跳过功能文件中的其余测试(一旦功能文件中的测试失败),则需要执行以下操作: 在每个要素文件的顶部,添加一个标签,如@feature\uu 在之前和之后添加一个钩子来跟踪标签并确定功能

因此,如果我总共有4个测试,如果第一个测试失败,我想在第一个测试中快速失败,然后我想继续运行其他3个测试/功能文件

它现在所做的,我不喜欢的是,一旦一个测试失败,它就会失败,并且不会运行任何其他功能文件

有什么想法吗

我尝试了以下几种选择:

'fail-fast': true

但是,如果出现故障,将停止执行。如果要跳过功能文件中的其余测试(一旦功能文件中的测试失败),则需要执行以下操作:

  • 在每个要素文件的顶部,添加一个标签,如
    @feature\uu
  • 在之前和之后添加一个钩子来跟踪标签并确定功能是否失败:
  • //用于跟踪所有失败场景的位置。
    const failedFeatures=[];
    //使用pickle对象标识要素标记。
    函数getFeature(pickle){
    返回pickle.tags.map(i=>i.name).filter(i=>i.indexOf('@feature'==0)[0];
    }
    //确定功能是否失败,如果失败,则跳过此测试。
    Before(函数({pickle}){
    const feature=getFeature(pickle);
    if(failedFeatures.indexOf(feature)>=0){
    返回“跳过”;
    }
    });
    //如果测试失败,请记录此功能也失败。
    After(函数({pickle,result}){
    const feature=getFeature(pickle);
    如果(result.status===“失败”){
    失败的功能。推送(功能);
    }
    });
    

    现场演示:

    我这里有几个问题要在您的帖子中更清楚地说明:1)在第一次测试失败后,控制台中显示的与其他3个测试/功能文件相关的详细信息是什么?2) 你们在用@After和driver.quit()吗?。