【发布时间】:2015-11-26 01:07:58
【问题描述】:
我想在运行选定的测试时隐藏禁用的茉莉花规格。我会有很多测试,所以我不想在每次刷新后向下滚动以到达底部的测试。
茉莉花中有没有允许它的选项?我浏览了文档,但没有找到任何东西。
【问题讨论】:
-
我也想这样做。 1.3 版将隐藏未运行的规范。
标签: javascript jasmine
我想在运行选定的测试时隐藏禁用的茉莉花规格。我会有很多测试,所以我不想在每次刷新后向下滚动以到达底部的测试。
茉莉花中有没有允许它的选项?我浏览了文档,但没有找到任何东西。
【问题讨论】:
标签: javascript 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 = ...
// ...
}
【讨论】:
如果你不想修改 Jasmine 源,你也可以像这样添加一个钩子(我的例子假设 jQuery 存在):
jasmine.getEnv().addReporter({
jasmineDone: function () {
$(".disabled").parents(".suite").hide();
}
});
请参阅http://jasmine.github.io/2.1/custom_reporter.html 了解更多信息。
【讨论】:
如果您通过 Karma 运行测试,则可以配置一个规范报告插件以忽略各种事情。
【讨论】:
【讨论】:
取自茉莉花介绍页面...
可以使用 xdescribe 和 xit 函数禁用套件和规格, 分别。这些套件和其中的任何规格在 运行,因此它们的结果不会出现在结果中。
【讨论】: