Jasmine - 无法获取 DOM 个元素

Jasmine - Unble to get DOM elements

我正在测试操纵 DOM 的 angularjs 指令。

我正在尝试获取我的 Jasmine 规范中的元素,以便我可以测试该指令的功能。但是,当我使用 document.getElementsByClassNameTagNameID 时,它不会 return 任何东西。有人对此有想法吗?

html = document.getElementsByClassName('analog');
console.dir(html);

如果您在 headless browser/chrome 等中创建测试,您可以附加一个虚拟对象,例如 JQuery 节点,然后在 afterEach 中删除该节点。

例如

beforeEach(() => {
    var mockHtml = $('<div class="form-group" style="position: absolute;left: -10000px;"><input class="testInput" id="some_input"></div>');
    $('body').append(mockHtml);
});

afterEach(() => {
    $('.form-group').remove();
});