我想在运行所选测试时隐藏禁用的茉莉花规格。我有很多测试,所以我不想在每次刷新后向下滚动以达到底部的测试。
茉莉花有什么选择可以吗?我已经完成了文档,但没有找到任何内容。
答案 0 :(得分:3)
这是一个关键的设计决策,如本期所述。
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 = ...
// ...
}
答案 1 :(得分:1)
如果你不想修改Jasmine源代码,你也可以添加这样的钩子(我的例子假设存在jQuery):
jasmine.getEnv().addReporter({
jasmineDone: function () {
$(".disabled").parents(".suite").hide();
}
});
有关详细信息,请参阅http://jasmine.github.io/2.1/custom_reporter.html。
答案 2 :(得分:1)
如果您正在通过Karma运行测试,那么您可以配置一个规范报告插件来忽略各种事情。
答案 3 :(得分:0)
答案 4 :(得分:-1)
取自茉莉花介绍页......
可以使用xdescribe和xit函数禁用套件和规格, 分别。这些套件及其中的任何规格都会被忽略 运行,因此他们的结果不会出现在结果中。