我单元测试一个以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();
}
但这不起作用。任何想法?