我对量角器和angularJS相当新,所以请帮助我。选择dayReport
元素后,将设置class='active'
属性,但如果未选择该元素,则会完全删除该属性。
我想确保在选择其他元素时,dayReport
没有class='active'
属性,尽管元素本身仍然存在。
我试过这个:expect(dayReport.getAttribute('class').isPresent()).toBe(false);
以及其他一些想法,但我似乎并没有让它发挥作用。有什么想法吗?
答案 0 :(得分:2)
对于正在阅读此内容且需要明确答案的人,@ TomNijs的回复非常有用,但应创建hasClass
函数以使其正常工作。因此,定义dayReport
元素后的整段代码现在看起来像这样:
var hasClass = function (element, cls)
{
return element.getAttribute('class').then(function (classes)
{
return classes.split(' ').indexOf(cls) !== -1;
});
};
expect(hasClass(dayReport, 'active')).toBe(false);
答案 1 :(得分:1)
我有同样的问题,请尝试以下代码:
hasClass
将返回一个承诺,该承诺将立即由expect
语句解析,并返回true或false,您的元素具有class="active"
属性。
//hasClass will check if the first parameter (the element) has the following the second parameter(the class attribute)
expect(hasClass(dayReport, 'active')).toBe(true);