jasmine - 如何阻止 Jasmine 的beforeAll block 中的测试执行?

标签 jasmine protractor

在进行所有测试之前(在 Protractor 中在jasmine中运行),我必须登录到系统,如果登录失败,则不应运行任何测试。但是,即使我使用proccess.exit(这是停止程序执行的节点功能),测试仍然会执行并且都将失败。

beforeAll(function(done){
    mainPage.resize();
    loginPage.login(env.regularUser).then(function(){
        mainPage.navigate();
        mainPage.waitLoading();
        done();
    }, function(){
        process.exit(1);
    });
});

如何防止在beforeAll块中执行测试?

最佳答案

如果我理解正确,那么这与以下问题相同或相关:

  • Does jasmine-node offer any type of "fail fast" option?
  • Feature Request - fail-fast option
  • Bail on first failure
  • --fail-fast CLI option
  • Quitting on first failure

  • 换句话说,这是测试框架(在这种情况下为jasmine)应该具有的东西。目前,这是一个开放功能请求。

    作为当前解决方法,请使用 jasmine-bail-fast 第三方程序包。

    关于jasmine - 如何阻止 Jasmine 的beforeAll block 中的测试执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964105/

    相关文章:

    javascript - Promise 和 for 循环 - 尝试验证多个元素文本

    node.js - Protractor - 如果元素可见,如何添加 if 条件,因此跳过此测试用例,否则执行以下操作

    javascript - 来自 Protractor 测试的纯 HTTP 调用

    javascript - AngularJS 私有(private)功能单元测试困惑

    javascript - jasmine spyOn on javascript 新日期

    angularjs - Angular 指令测试 - 错误 : [$injector:modulerr] Failed to instantiate module?

    javascript - Jasmine 在 expect().toThrow 上抛出错误,而不是识别抛出的错误

    javascript - 测试返回值是否是一个 promise

    javascript - 无法在 Jasmine JS 的测试用例中创建 "if statement"

    typescript - 当 tslint 中的 "no-floating-promises"为真时如何忽略 Jasmine promise