【问题标题】:JavaScript, Jasmine, hide disabled jasmine specsJavaScript,Jasmine,隐藏禁用的 jasmine 规范
【发布时间】:2015-11-26 01:07:58
【问题描述】:

我想在运行选定的测试时隐藏禁用的茉莉花规格。我会有很多测试,所以我不想在每次刷新后向下滚动以到达底部的测试。

茉莉花中有没有允许它的选项?我浏览了文档,但没有找到任何东西。

【问题讨论】:

  • 我也想这样做。 1.3 版将隐藏未运行的规范。

标签: javascript jasmine


【解决方案1】:

这是关键的设计决定,如本期所述。

https://github.com/pivotal/jasmine/issues/510

这是问题评论中的修复方法。

在 jasmine-html.js 中,添加一个函数来递归地确定结果节点是否有任何活动规范:

function hasActiveSpec(resultNode) {
  if (resultNode.type == "spec" && resultNode.result.status != "disabled") {
    return true;
  }

  if (resultNode.type == 'suite') {
    for (var i = 0, j = resultNode.children.length; i < j; i++) {
      if (hasActiveSpec(resultNode.children[i])) {
        return true;
      }
    }
  }
}

然后,在 summaryList 函数中,只需为套件运行该过滤器:

// ...
var resultNode = resultsTree.children[i];
if (resultNode.type == "suite") {
  // Don't display inactive suites
  if (!hasActiveSpec(resultNode)) {
    continue;
  }

  // var suiteListNode = ...
  // ...
}

【讨论】:

    【解决方案2】:

    如果你不想修改 Jasmine 源,你也可以像这样添加一个钩子(我的例子假设 jQuery 存在):

    jasmine.getEnv().addReporter({
        jasmineDone: function () {
            $(".disabled").parents(".suite").hide();
        }
    });
    

    请参阅http://jasmine.github.io/2.1/custom_reporter.html 了解更多信息。

    【讨论】:

      【解决方案3】:

      如果您通过 Karma 运行测试,则可以配置一个规范报告插件以忽略各种事情。

      https://www.npmjs.com/package/karma-spec-reporter

      https://www.npmjs.com/package/karma-spec-reporter-2

      【讨论】:

        【解决方案4】:

        我没有找到隐藏待定测试的方法。但是您可以将下一个样式添加到您的测试中以隐藏待处理的测试。

        .pending {
          display: none;
        }
        

        您可以看到一个工作示例here

        【讨论】:

          【解决方案5】:

          取自茉莉花介绍页面...

          可以使用 xdescribe 和 xit 函数禁用套件和规格, 分别。这些套件和其中的任何规格在 运行,因此它们的结果不会出现在结果中。

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-09-08
          • 2014-09-30
          • 2011-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-21
          相关资源
          最近更新 更多