jjzjj

fakeAsync

全部标签

javascript - Angular2 - 使用 debounceTime 测试调用

我正在使用一个表单控件,它使用valueChanges和debounceTime检测变化。我正在编写一个监视itemService的测试,以检查是否正在调用update方法。如果我从表单控件中删除debounceTime,则测试工作正常。这是组件中的表单控件。this.itemControl.valueChanges.debounceTime(300).subscribe(response=>{this.itemService.update(response);});这是测试it('shoulddostuff',inject([ItemService],(itemService)=>{

javascript - Angular 2 fakeAsync 在使用 tick() 的函数中等待超时?

我正在尝试从Angular2中的模拟后端获取结果以进行单元测试。目前,我们正在使用带有超时的fakeAsync来模拟时间的流逝。当前工作单元测试it('timeout(fakeAsync/tick)',fakeAsync(()=>{counter.getTimeout();tick(3000);//manuallyspecifythewaitingtime}));但是,这意味着我们仅限于手动定义的超时。不是在异步任务完成时。我想要做的是让tick()等到任务完成后再继续测试。这似乎没有按预期工作。阅读fakeAsync并勾选答案here解释说:tick()simulatestheasy