单元测试/模拟getAttribute angular5

时间:2018-04-13 19:27:59

标签: angular unit-testing jasmine karma-jasmine

我单元测试一个以if语句开头的方法,如

if(document.body.querySelector('#elementID li').getAttribute('disabled') === 'false')

我的HTML代码如下:

<ul id="elementID">
    <li *ngFor="let item of items; [attr.disabled]="data.isDisabled""></li>
</ul>

无论我做什么,我总是会收到错误 TypeError:无法读取属性&#39; getAttribute&#39;为null 。我知道如何在if语句之后测试逻辑,我只是​​无法通过它。

我试图在我的测试中动态创建li,我使用了setAttribute

 it('should test', () => {
    let element = document.createElement('ul')
    element.setAttribute('id', 'elementID')
    let li = document.createElement('li');
    li.setAttribute('disabled', 'false');
    element.appendChild(li);
    component.Method();
    expect(someVariable).toBeTruthy();
 }

但这不起作用。任何想法?

0 个答案:

没有答案