我在html中有此按钮
const dom = new JSDOM(`
<button id="ref_button" type="submit" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary">`)
我正在使用Chai进行如下测试:
dom.window.document.getElementById("ref_button").should.have.attr('type');
它运行完美。 但是,如果我想以相同的方式测试 disabled 属性,则该测试将无效:
dom.window.document.getElementById("ref_button").should.have.attr('[disabled]');
它总是说该属性存在。这是不正常的,因为根据条件(当我用有效数据填写表格时)它不应该存在。
我在柴做错什么吗?
答案 0 :(得分:1)
我对Chai的了解不多,只是尝试了以下内容
prop() or property()
dom.window.document.getElementById("ref_button").should.have.prop('disabled');
或
dom.window.document.getElementById("ref_button").should.have.property('disabled');
更新的代码段
您能尝试以下吗
is()
dom.window.document.getElementById("ref_button").is('[disabled]')).toBe(true)
以上可能有效,请尝试一下。如果不是,请尝试以下一项
hasAttr() or hasAttribute()
dom.window.document.getElementById("ref_button").hasAttribute('disabled')