运行选定的测试时,我想隐藏禁用的 Jasmine 规范。我将进行很多测试,因此我不想在每次刷新后向下滚动以到达底部的测试。

Jasmine 中是否有任何允许的选择?我浏览了文档,但没有找到任何东西。

最佳答案

正如本期所记录的那样,这是关键设计决策。

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 = ...
  // ...
}

关于JavaScript,Jasmine,隐藏禁用的Jasmine规范,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24881500/

10-09 14:47