0

我正在尝试在 Jasmine 中编写一个单元测试,以查找在单击按钮后变为可见的元素。我遇到的问题是find找到隐藏的元素。

        var visibleUndoButtons = 0;
        var undoButtons = element.find(".btn-undo");
        undoButtons.each((index, value) => {
           if ($(this).css("display", "none")) {
               console.log("none");
           } else {
               visibleUndoButtons++;
           }
        });
        expect(visibleUndoButtons).toEqual(1);

jqlite可以做我要求的吗?还是有更好的方法来查找具有特定类的可见元素或不可见元素?

4

1 回答 1

0

这就是我刚刚所做的:

it("should not hide any of the checkboxes", inject(function ($document) {
  $document.find('body').append(element);
  angular.forEach(element.find('.check-box'), function (checkBox) {
    expect(angular.element(checkBox).css('display')).toBe('inline');
  });
}));

我的 css 可见性规则来自外部样式表(而不是内联),这可能是 .css() 方法在我省略时返回空字符串的原因

$document.find('body').append(element);

希望有帮助。

于 2014-08-28T07:59:42.147 回答