量角器中 hasClass 的 Jasmine 2 自定义匹配器
Jasmine 2 custom matcher for hasClass in Protactor
我将我的 Jasmine 1.3 升级到 2.0,所以我添加了一个自定义匹配器来检查 css 是 present.Below 是检查匹配器的代码
hasClass = function(actual,expected){
return actual.getAttribute('class').then(function (classes) {
return classes.split(' ').indexOf(expected) !== -1;
});
}
但是当我升级到 Jasmine 2 时,Protector 会像预期的那样抛出错误 return 但下面是异步过程
hasClass = function(){
return compare: function(actual,expected){
return actual.getAttribute('class').then(function (classes) {
return {pass: classes.split(' ').indexOf(expected) !== -1};
});
}
}
如何测试元素中是否存在 class 我不想使用 jasmine-jquery?
pass
应该是一个承诺,而不是一次解决。尝试将其放入您的 beforeEach
:
this.addMatchers({
hasClass: function() {
return {
compare: function(actual, expected) {
return {
pass: actual.getAttribute('class').then(function(classes) {
return classes.split(' ').indexOf(expected) !== -1;
})
};
}
};
}
});
我将我的 Jasmine 1.3 升级到 2.0,所以我添加了一个自定义匹配器来检查 css 是 present.Below 是检查匹配器的代码
hasClass = function(actual,expected){
return actual.getAttribute('class').then(function (classes) {
return classes.split(' ').indexOf(expected) !== -1;
});
}
但是当我升级到 Jasmine 2 时,Protector 会像预期的那样抛出错误 return 但下面是异步过程
hasClass = function(){
return compare: function(actual,expected){
return actual.getAttribute('class').then(function (classes) {
return {pass: classes.split(' ').indexOf(expected) !== -1};
});
}
}
如何测试元素中是否存在 class 我不想使用 jasmine-jquery?
pass
应该是一个承诺,而不是一次解决。尝试将其放入您的 beforeEach
:
this.addMatchers({
hasClass: function() {
return {
compare: function(actual, expected) {
return {
pass: actual.getAttribute('class').then(function(classes) {
return classes.split(' ').indexOf(expected) !== -1;
})
};
}
};
}
});