【发布时间】:2016-08-18 19:29:28
【问题描述】:
我一直在开发 Jasmine 自定义匹配器以检查页面是否可访问。
重要的部分如下所示:
var _result = {};
AxeBuilder(browser.driver).analyze(function(results) {
if (util.equals(results.violations.length, expected)) {
_result.pass = true;
_result.message = 'Selection was accessible.';
} else {
_result.pass = false;
_result.message = results.violations;
}
});
return result;
我的问题是_result(不是results)总是一个空对象。
我怀疑问题在于 AxeBuilder(...).analyze(...) 是异步的但不返回承诺。
我的测试不是从 Karma 运行的,它是通过我的 Protractor 配置启动的。
如果我的怀疑是真的,我将如何将其包装在一个承诺中?
【问题讨论】:
标签: asynchronous jasmine promise protractor