【发布时间】:2016-09-29 22:36:08
【问题描述】:
我在 Angular 2 项目中使用 karma 和 jasmine 进行了以下测试:
let a: any;
beforeEach(() => {
a = {};
setTimeout(() => {
a.test();
}, 1000);
});
it('should work with async and promise', async(() => {
return new Promise((resolve) => {
a.test = () => {
console.log('erster test');
assertThat(true, is(false));
resolve();
};
});
}));
it('should work with async and done', async((done) => {
a.test = () => {
console.log('zweiter test');
assertThat(true, is(false));
done();
};
}));
it('should work with done', (done) => {
a.test = () => {
console.log('dritter test');
assertThat(true, is(false));
done();
};
});
唯一有效(意味着失败)的情况是最后一个只有“完成”回调的情况。对于第二个我不确定,但第一个不应该是在角度 2 中测试异步的正确方法吗?我想用“异步”你在你的函数周围放置一个区域,它正在等待返回的承诺?我试图理解异步实现,但我不明白:https://github.com/angular/angular/blob/master/modules/%40angular/core/testing/async.ts
【问题讨论】:
标签: javascript asynchronous angular karma-jasmine