【发布时间】:2017-06-16 12:37:40
【问题描述】:
我正在尝试测试一些“样式集”功能,但我遇到了一些问题,因为我需要等到元素完全呈现后,然后读取其属性并检查它是否已成功更改。我知道这很明显,但我想知道是否有办法做到这一点而无需等待。
比如我想测试这个功能:
function changeWidth() {
document.getElementById('test').style.width = '200px';
}
我在 Mocha 中使用了这个测试:
it('Width should be 200px', () => {
changeWidth();
assert.equal(document.getElementById('test').style.width, '200px');
});
该断言将始终返回false。以下测试将起作用:
it('Width should be 200px', () => {
changeWidth();
window.setTimeout( () => {
assert.equal(document.getElementById('test').style.width, '200px');
}, 1000);
});
它必须是一种更好的方式来完成相同的任务,而无需使用超时。有人可以指导我吗?谢谢!
【问题讨论】:
-
即使断言从未通过,通过的测试也将始终通过!您正在同步测试中测试异步逻辑。您应该阅读以下内容:stackoverflow.com/questions/20748918/…
标签: javascript css mocha.js